SQL 高階・累計、樞紐與 CTE 鏈
這一頁是題幹試閱;登入/註冊後每題可以在瀏覽器裡執行、對答案,第一次交對 +10 XP。
- 01
視窗函數-累計加總
困難依到期日由早到晚(到期日相同依編號)列出台灣(placeid = 'TW')生產的食品,輸出編號、到期日、價格,以及到目前這一列為止的「累計價格」。
表頭依序命名為 'id'、'到期日'、'價格'、'累計'。
提示:SUM(price) OVER (ORDER BY …) 會計算從第一列累加到目前這一列的總和。
資料表
food:id編號(文字,主鍵)、name名稱(文字)、expiredate到期日(文字,格式 'YYYY-MM-DD')、placeid產地編號(文字)、price價格(整數)、catalog種類(文字)。作答登入後可作答 - 02
漲跌天數樞紐
中等統計每支股票的上漲天數、下跌天數、平盤天數(與前一交易日 close 比較;第一天沒有前一日,不計入任何一類)。欄位依序 stock_id、上漲、下跌、平盤,依 stock_id 排序。請用「CTE 先算 LAG,再用 CASE 放進 SUM」的條件彙總寫法,不要寫三個子查詢。
資料表
TaiwanStockPrice(與課程第 6 章的股價表同構):stock_id股票代號(文字)、date交易日(文字,'YYYY-MM-DD')、open、max、min、close(實數)、Trading_Volume成交量(整數);複合主鍵(stock_id, date)。資料含 2330 與 2317 兩檔、2026-01-05 至 2026-01-20 的交易日。平台以 sqlite 執行,支援 window function 與 CTE;MySQL 8.0 以上語法相同。
作答登入後可作答 - 03
週成交量與週增率
困難計算 2330 每週(
strftime('%W', date))的總成交量,以及「較前一週的成長率 %」((本週 − 前週) × 100 / 前週,ROUND 到小數 2 位;第一週沒有前週,顯示 NULL)。欄位依序 週序號、總成交量、成長率,依週序號排序。請串接兩層 CTE:第一層彙總、第二層用 LAG。資料表
TaiwanStockPrice(與課程第 6 章的股價表同構):stock_id股票代號(文字)、date交易日(文字,'YYYY-MM-DD')、open、max、min、close(實數)、Trading_Volume成交量(整數);複合主鍵(stock_id, date)。資料含 2330 與 2317 兩檔、2026-01-05 至 2026-01-20 的交易日。平台以 sqlite 執行,支援 window function 與 CTE;MySQL 8.0 以上語法相同。
作答登入後可作答

送件鴿飛出去了