Skip to content

Commit b64228f

Browse files
committed
feat: 題目更新
1 parent e38203c commit b64228f

File tree

1 file changed

+52
-39
lines changed

1 file changed

+52
-39
lines changed

migrations/task/sqls/20241021064214-task-up.sql

Lines changed: 52 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,17 @@
77
-- ===================== ====================
88
-- 1. 用戶資料,資料表為 USER
99

10-
-- 1. 新增:新增五筆用戶資料,資料如下:
10+
-- 1. 新增:新增六筆用戶資料,資料如下:
1111
-- 1. 用戶名稱為`李燕容`,Email 為`lee2000@hexschooltest.io`,Role為`USER`
1212
-- 2. 用戶名稱為`王小明`,Email 為`wXlTq@hexschooltest.io`,Role為`USER`
1313
-- 3. 用戶名稱為`肌肉棒子`,Email 為`muscle@hexschooltest.io`,Role為`USER`
1414
-- 4. 用戶名稱為`好野人`,Email 為`richman@hexschooltest.io`,Role為`USER`
1515
-- 5. 用戶名稱為`Q太郎`,Email 為`starplatinum@hexschooltest.io`,Role為`USER`
16+
-- 6. 用戶名稱為 透明人,Email 為 opcatiy0@hexschooltest.io,Role 為 USER
1617

18+
-- 1-2 修改:用 Email 找到 李燕容、肌肉棒子、Q太郎,如果他的 Role 為 USER 將他的 Role 改為 COACH
1719

18-
-- 1-2 修改:用 Email 找到 李燕容,如果他的Role為USER將他的 Role 改為 COACH
19-
20-
21-
-- 1-3 刪除:刪除USER 資料表中,用 Email 找到好野人,並刪除該筆資料
20+
-- 1-3 刪除:刪除USER 資料表中,用 Email 找到透明人,並刪除該筆資料
2221

2322
-- 1-4 查詢:取得USER 資料表目前所有用戶數量(提示:使用count函式)
2423

@@ -32,14 +31,15 @@
3231
-- █ █ █████ █ █ █████
3332
-- ===================== ====================
3433
-- 2. 組合包方案 CREDIT_PACKAGE、客戶購買課程堂數 CREDIT_PURCHASE
35-
-- 2-1. 1. **新增**:在`CREDIT_PACKAGE` 資料表新增三筆教練資料,資料需求如下:
36-
-- 1. 名稱為 `7 堂組合包方案`**,**價格為`1,400` 元,堂數為`7`
37-
-- 2. 名稱為`14 堂組合包方案`**,**價格為`2,520` 元,堂數為`14`
34+
-- 2-1. 新增:在`CREDIT_PACKAGE` 資料表新增三筆教練資料,資料需求如下:
35+
-- 1. 名稱為 `7 堂組合包方案`價格為`1,400` 元,堂數為`7`
36+
-- 2. 名稱為`14 堂組合包方案`價格為`2,520` 元,堂數為`14`
3837
-- 3. 名稱為 `21 堂組合包方案`,價格為`4,800` 元,堂數為`21`
3938

40-
-- 2-2. 新增:在`CREDIT_PURCHASE`資料表新增兩筆 `王小明` 購買組合包的資料:
41-
-- 1. `14 堂組合包方案`
42-
-- 2. `21 堂組合包方案`
39+
-- 2-2. 新增:在 `CREDIT_PURCHASE` 資料表,新增三筆資料:(請使用 name 欄位做子查詢)
40+
-- 1. `王小明` 購買 `14 堂組合包方案`
41+
-- 2. `王小明` 購買 `21 堂組合包方案`
42+
-- 3. `好野人` 購買 `14 堂組合包方案`
4343

4444

4545
-- ████████ █████ █ ████
@@ -54,18 +54,16 @@
5454
-- 2. 將用戶`肌肉棒子`新增為教練,並且年資設定為2年
5555
-- 3. 將用戶`Q太郎`新增為教練,並且年資設定為2年
5656

57-
-- 3-2. 2. 新增:承1,為三名教練新增專長資料至 `COACH_LINK_SKILL` ,資料需求如下:
58-
-- 1. 所有教練都有 **`重訓`** 專長
59-
-- 2. 教練`肌肉棒子` 需要有**`瑜珈`** 專長
60-
-- 3. 教練`Q太郎` 需要有**`有氧運動`** 與**`復健訓練`**專長
61-
57+
-- 3-2. 新增:承1,為三名教練新增專長資料至 `COACH_LINK_SKILL` ,資料需求如下:
58+
-- 1. 所有教練都有 `重訓` 專長
59+
-- 2. 教練`肌肉棒子` 需要有 `瑜珈` 專長
60+
-- 3. 教練`Q太郎` 需要有 `有氧運動` 與 `復健訓練` 專長
6261

6362
-- 3-3 修改:更新教練的經驗年數,資料需求如下:
6463
-- 1. 教練`肌肉棒子` 的經驗年數為3年
6564
-- 2. 教練`Q太郎` 的經驗年數為5年
6665

67-
-- 3-4 刪除:新增一個專長 空中瑜伽 至SKILL資料表,之後刪除此專長。
68-
66+
-- 3-4 刪除:新增一個專長 空中瑜伽 至 SKILL 資料表,之後刪除此專長。
6967

7068

7169
-- ████████ █████ █ █ █
@@ -78,10 +76,10 @@
7876

7977
-- 4-1. 新增:在`COURSE` 新增一門課程,資料需求如下:
8078
-- 1. 教練設定為用戶`李燕容`
81-
-- 2. 在課程專長 `skill_id` 上設定為「**`重訓`**
79+
-- 2. 在課程專長 `skill_id` 上設定為「 `重訓`
8280
-- 3. 在課程名稱上,設定為「`重訓基礎課`」
83-
-- 4. 授課開始時間`start_at`設定為2024-10-25 14:00:00
84-
-- 5. 授課結束時間`end_at`設定為2024-10-25 16:00:00
81+
-- 4. 授課開始時間`start_at`設定為2024-11-25 14:00:00
82+
-- 5. 授課結束時間`end_at`設定為2024-11-25 16:00:00
8583
-- 6. 最大授課人數`max_participants` 設定為10
8684
-- 7. 授課連結設定`meeting_url`為 https://test-meeting.test.io
8785

@@ -94,31 +92,41 @@
9492
-- ===================== ====================
9593

9694
-- 5. 客戶預約與授課 COURSE_BOOKING
97-
-- 5-1. 新增:`王小明`預約 `李燕容`的課程,請在`COURSE_BOOKING`新增一筆資料:
98-
-- 1. 預約人設為`王小明`
99-
-- 2. 預約時間`booking_at` 設為2024-10-24 16:00:00
100-
-- 3. 狀態`status` 設定為即將授課
101-
102-
-- 5-2. 修改:`王小明`取消預約 `李燕容` ****的課程,請在`COURSE_BOOKING`更新該筆預約資料:
103-
-- 1. 取消預約時間`cancelled_at` 設為2024-10-24 17:00:00
95+
-- 5-1. 新增:請在 `COURSE_BOOKING` 新增兩筆資料:
96+
-- 1. 第一筆:`王小明`預約 `李燕容` 的課程
97+
-- 1. 預約人設為`王小明`
98+
-- 2. 預約時間`booking_at` 設為2024-11-24 16:00:00
99+
-- 3. 狀態`status` 設定為即將授課
100+
-- 2. 新增: `好野人` 預約 `李燕容` 的課程
101+
-- 1. 預約人設為 `好野人`
102+
-- 2. 預約時間`booking_at` 設為2024-11-24 16:00:00
103+
-- 3. 狀態`status` 設定為即將授課
104+
105+
-- 5-2. 修改:`王小明`取消預約 `李燕容` 的課程,請在`COURSE_BOOKING`更新該筆預約資料:
106+
-- 1. 取消預約時間`cancelled_at` 設為2024-11-24 17:00:00
104107
-- 2. 狀態`status` 設定為課程已取消
105108

106-
-- 5-3. 新增:`王小明`再次預約 `李燕容` ****的課程,請在`COURSE_BOOKING`新增一筆資料:
109+
-- 5-3. 新增:`王小明`再次預約 `李燕容` 的課程,請在`COURSE_BOOKING`新增一筆資料:
107110
-- 1. 預約人設為`王小明`
108-
-- 2. 預約時間`booking_at` 設為2024-10-24 17:10:25
111+
-- 2. 預約時間`booking_at` 設為2024-11-24 17:10:25
109112
-- 3. 狀態`status` 設定為即將授課
110113

111114
-- 5-4. 查詢:取得王小明所有的預約紀錄,包含取消預約的紀錄
112115

113116
-- 5-5. 修改:`王小明` 現在已經加入直播室了,請在`COURSE_BOOKING`更新該筆預約資料(請注意,不要更新到已經取消的紀錄):
114-
-- 1. 請在該筆預約記錄他的加入直播室時間 `join_at` 設為2024-10-25 14:01:59
117+
-- 1. 請在該筆預約記錄他的加入直播室時間 `join_at` 設為2024-11-25 14:01:59
115118
-- 2. 狀態`status` 設定為上課中
116119

117-
-- 5-6. 查詢:計算用戶王小明的購買堂數。 (提示:使用SUM函式與Group By)
120+
-- 5-6. 查詢:計算用戶王小明的購買堂數,顯示須包含以下欄位: user_id , total。 (需使用到 SUM 函式與 Group By)
118121

119-
-- 5-7. 查詢:計算用戶王小明的已使用堂數。 (提示:使用Count函式與Group By)
122+
-- 5-7. 查詢:計算用戶王小明的已使用堂數,顯示須包含以下欄位: user_id , total。 (需使用到 Count 函式與 Group By)
120123

121-
-- 5-8. 查詢:請在一次查詢中,計算用戶王小明的剩餘可用堂數 (提示:使用Inner Join)
124+
-- 5-8. [挑戰題] 查詢:請在一次查詢中,計算用戶王小明的剩餘可用堂數,顯示須包含以下欄位: user_id , remaining_credit
125+
-- 提示:
126+
-- select ("CREDIT_PURCHASE".total_credit - "COURSE_BOOKING".used_credit) as remaining_credit, ...
127+
-- from ( 用戶王小明的購買堂數 ) as "CREDIT_PURCHASE"
128+
-- inner join ( 用戶王小明的已使用堂數) as "COURSE_BOOKING"
129+
-- on "COURSE_BOOKING".user_id = "CREDIT_PURCHASE".user_id;
122130

123131

124132
-- ████████ █████ █ ███
@@ -128,12 +136,17 @@
128136
-- █ █ █████ █ █ ███
129137
-- ===================== ====================
130138
-- 6. 後台報表
131-
-- 6-1 查詢:查詢專長為重訓的教練,並按經驗年數排序,由資深到資淺(提示:使用inner join與order by語法)
139+
-- 6-1 查詢:查詢專長為重訓的教練,並按經驗年數排序,由資深到資淺(需使用 inner join 與 order by 語法)
140+
-- 顯示須包含以下欄位: 教練名稱 , 經驗年數, 專長名稱
132141

133-
-- 6-2 查詢:查詢每種專長的教練數量,並找出教練數量最多的專長(提示:使用Group By與order by與limit語法)
142+
-- 6-2 查詢:查詢每種專長的教練數量,並只列出教練數量最多的專長(需使用 group by, inner join 與 order by 與 limit 語法)
143+
-- 顯示須包含以下欄位: 專長名稱, coach_total
134144

135-
-- 6-3. 查詢:計算10月份組合包方案的銷售數量
145+
-- 6-3. 查詢:計算 11 月份組合包方案的銷售數量
146+
-- 顯示須包含以下欄位: 組合包方案名稱, 銷售數量
136147

137-
-- 6-4. 查詢:計算10月份總營收
148+
-- 6-4. 查詢:計算 11 月份總營收(使用 purchase_at 欄位統計)
149+
-- 顯示須包含以下欄位: 總營收
138150

139-
-- 6-5. 查詢:計算10月份有預約課程的會員人數
151+
-- 6-5. 查詢:計算 11 月份有預約課程的會員人數(需使用 Distinct,並用 created_at 和 status 欄位統計)
152+
-- 顯示須包含以下欄位: 預約會員人數

0 commit comments

Comments
 (0)