Leetcode 解鎖 - Students and Examinations (MS SQL SERVER)

DigNo Ape-avatar-img
發佈於SQL
更新 發佈閱讀 1 分鐘

有三個表:

  1. Students 表記錄了每個學生的 ID 和姓名。
    • student_id: 每個學生的唯一 ID。
    • student_name: 學生的姓名。
  2. Subjects 表記錄了學校中的所有科目名稱。
    • subject_name: 每個科目的唯一名稱。
  3. Examinations 表記錄了每個學生參加的考試。
    • student_id: 學生的 ID。
    • subject_name: 科目名稱。
raw-image

請使用MS SQL Server查詢每個學生參加每門考試次數。結果表需要按 student_idsubject_name 排序。

結果表應包含以下欄位:

  • student_id: 學生的 ID。
  • student_name: 學生的姓名。
  • subject_name: 科目名稱。
  • attended_exams: 學生參加該科目考試的次數。


我們可以通過 LEFT JOIN 把學生表與科目表連接,然後再與考試表連接來計算每個學生在每個科目中參加考試的次數。

SELECT s.student_id, s.student_name, sub.subject_name,

COUNT(e.subject_name) AS attended_exams

FROM Students s

CROSS JOIN Subjects sub

LEFT JOIN Examinations e

ON s.student_id = e.student_id AND sub.subject_name = e.subject_name

GROUP BY s.student_id, s.student_name, sub.subject_name

ORDER BY s.student_id, sub.subject_name;

解釋:

  1. 使用 CROSS JOIN 來生成所有學生和科目組合。
  2. 使用 LEFT JOINExaminations 表中的考試數據連接進來。
  3. 使用 COUNT 函數來計算每個學生在每個科目參加考試的次數。
  4. 使用 GROUP BY 對每個學生和科目進行分組,並按學生 ID 和科目名稱排序。



謝謝您花時間將此篇文章讀完,若覺得對您有幫助可以幫忙按個讚、分享來或是珍藏喔!也歡迎Follow我的Threads,持續追蹤生產力工具、商業分析、商業英文的實用範例,提升自己的職場力喔!

留言
avatar-img
留言分享你的想法!
avatar-img
DigNo Ape 數遊原人
58會員
138內容數
我們秉持著從原人進化的精神,不斷追求智慧的累積和工具的運用來提升生產力。我們相信,每一個成員都擁有無限的潛力,透過學習和實踐,不斷成長和進步。
DigNo Ape 數遊原人的其他內容
2024/10/23
自 2019-07-27 開始,往前推 30 天 ,計算每天的活躍用戶數。用戶在某天如果至少有一次活動記錄,則被認為在該天是活躍的,不用管答案的排序。
Thumbnail
2024/10/23
自 2019-07-27 開始,往前推 30 天 ,計算每天的活躍用戶數。用戶在某天如果至少有一次活動記錄,則被認為在該天是活躍的,不用管答案的排序。
Thumbnail
2024/10/16
哪些日期的 id氣溫比前一天(昨天)的氣溫更高。結果表應以任意順序返回。
Thumbnail
2024/10/16
哪些日期的 id氣溫比前一天(昨天)的氣溫更高。結果表應以任意順序返回。
Thumbnail
2024/09/02
請在表1查找每個月份和國家的交易數量及其總金額、已批准交易的數量及其總金額(如表2),結果可以以任何順序返回。 請使用下列三種語法查找: 1. MS SQL Server 查詢 2. MySQL 查詢 3. Pandas 查詢
Thumbnail
2024/09/02
請在表1查找每個月份和國家的交易數量及其總金額、已批准交易的數量及其總金額(如表2),結果可以以任何順序返回。 請使用下列三種語法查找: 1. MS SQL Server 查詢 2. MySQL 查詢 3. Pandas 查詢
Thumbnail
看更多
你可能也想看
Thumbnail
35年後再與大學生一起上課。
Thumbnail
35年後再與大學生一起上課。
Thumbnail
大學申請入學第一階段篩選結果公布後,通過的高中考生們就必須要準確對接"各校學系"的要求,準備第二階段的學習歷程審查或面試。故以下注意事項提供給各位考生家長參考。 一、重要時程 於113年4月12日至4月17日每天9:00至21:00期間,上網操作測試版系統,練習如 何勾選上傳學習歷程檔案,並檢查
Thumbnail
大學申請入學第一階段篩選結果公布後,通過的高中考生們就必須要準確對接"各校學系"的要求,準備第二階段的學習歷程審查或面試。故以下注意事項提供給各位考生家長參考。 一、重要時程 於113年4月12日至4月17日每天9:00至21:00期間,上網操作測試版系統,練習如 何勾選上傳學習歷程檔案,並檢查
Thumbnail
針對大學四年間需要重複確認修課標準以確保自己的學分有過門檻這件事,早安打造了一個學分計算管理系統,利用資料庫關聯與查找功能計算學分修課進度,並使用公式製作視覺化進度條,整合自己大學四年上過的所有課程資訊,幫助使用者更好檢視與管理修課規劃。
Thumbnail
針對大學四年間需要重複確認修課標準以確保自己的學分有過門檻這件事,早安打造了一個學分計算管理系統,利用資料庫關聯與查找功能計算學分修課進度,並使用公式製作視覺化進度條,整合自己大學四年上過的所有課程資訊,幫助使用者更好檢視與管理修課規劃。
Thumbnail
  之前監考過高普考、地方特考、導遊和領隊人員考試,距上次監考已近四年,最近(2/18)第一次監考碩士班考試。據敝校表示,本次碩士班考試報名人數創歷史新高,來到破萬的1萬624人,為此共開了5個考區(去年高普考報名人數為7萬1284人,共16考區)。   高普考與碩士班考試除了報考人數
Thumbnail
  之前監考過高普考、地方特考、導遊和領隊人員考試,距上次監考已近四年,最近(2/18)第一次監考碩士班考試。據敝校表示,本次碩士班考試報名人數創歷史新高,來到破萬的1萬624人,為此共開了5個考區(去年高普考報名人數為7萬1284人,共16考區)。   高普考與碩士班考試除了報考人數
Thumbnail
整理高中考大學各學群常見面試問題,學生可做為參考練習
Thumbnail
整理高中考大學各學群常見面試問題,學生可做為參考練習
Thumbnail
  首先,預祝不管是連考5天高普考、3天高考或2天普考,在辛苦大熱天考試的考生們,金榜題名!小弟這次有幸監考這比大學指考報名人數還多的高普考(108年大學指考約4.9萬人報名、高普考約8.6萬人報名),雖然因為是第一次監考,所以試水溫的只報了普考,但竟然就被分配到了三合一的教室(人事行政、客
Thumbnail
  首先,預祝不管是連考5天高普考、3天高考或2天普考,在辛苦大熱天考試的考生們,金榜題名!小弟這次有幸監考這比大學指考報名人數還多的高普考(108年大學指考約4.9萬人報名、高普考約8.6萬人報名),雖然因為是第一次監考,所以試水溫的只報了普考,但竟然就被分配到了三合一的教室(人事行政、客
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News