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

閱讀時間約 3 分鐘

有三個表:

  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,持續追蹤生產力工具、商業分析、商業英文的實用範例,提升自己的職場力喔!

我們秉持著從原人進化的精神,不斷追求智慧的累積和工具的運用來提升生產力。我們相信,每一個成員都擁有無限的潛力,透過學習和實踐,不斷成長和進步。
留言0
查看全部
發表第一個留言支持創作者!
請在表1查找每個月份和國家的交易數量及其總金額、已批准交易的數量及其總金額(如表2),結果可以以任何順序返回。 請使用下列三種語法查找: 1. MS SQL Server 查詢 2. MySQL 查詢 3. Pandas 查詢
請在表1查找每個月份和國家的交易數量及其總金額、已批准交易的數量及其總金額(如表2),結果可以以任何順序返回。 請使用下列三種語法查找: 1. MS SQL Server 查詢 2. MySQL 查詢 3. Pandas 查詢
你可能也想看
Google News 追蹤
Thumbnail
本專欄將提供給您最新的市場資訊、產業研究、交易心法、優質公司介紹,以上內容並非個股分析,還請各位依據自身狀況作出交易決策。歡迎訂閱支持我,獲得相關內容,也祝您的投資之路順遂! 每年 $990 訂閱方案👉 https://reurl.cc/VNYVxZ 每月 $99 訂閱方案👉https://re
Thumbnail
35年後再與大學生一起上課。
Thumbnail
這篇文章為您提供雅思分數的計算方式,報名地點、考試方式以及重考、複查相關資訊。如果您有雅思考試的需求,這篇文章應該要好好收藏起來!
Thumbnail
測驗的目的 The purpose of the exam 實人雖然不打分數,也拒絕排名,但是並不代表我們不在意每段學習的驗收,這天數學的因倍數迎來了總測,除卻每次老師改完試卷,和孩子看到結果的共同崩潰感,我們能有什麼積極的作為?因為我們都清楚明白,測驗的目的不是為了擊垮師生,還是能有更深的彼此認
Thumbnail
《第3篇》想起有趣事,這是發生在高職的真人真事,有位同學考試,考券都選擇題,為什那位同學每一題都有填,卻還會0分呢? ※封面為AI生成※
有的人上課與學習是為了尋找同類並相互支持、增進彼此。 有的人上課則為了在課堂上與同類較勁以彰顯自己的優越。 參與共修學習是為了接觸自己眼界之外的人生百態、看見更多世間萬物風貌,以培養我們內在的謙遜與和善之心,而非增長桀驁不馴、不可一世的狂妄之心。 「我感覺上那些程度的課都在浪費時間跟錢...
Thumbnail
這篇寫給天性焦慮想在考試之前搞懂考場detail的夥伴們,準備方法與書單請左轉其他大神的文章><
Thumbnail
學期的開始,怎麼幫助學生做好時間規劃,展開一系列的學習? 可以運用Numbers工作表讓人一目瞭然的特性, 適合設計一張張學期生活規劃表, 帶領學生學習規劃生活、成為自己的主人。
Thumbnail
本專欄將提供給您最新的市場資訊、產業研究、交易心法、優質公司介紹,以上內容並非個股分析,還請各位依據自身狀況作出交易決策。歡迎訂閱支持我,獲得相關內容,也祝您的投資之路順遂! 每年 $990 訂閱方案👉 https://reurl.cc/VNYVxZ 每月 $99 訂閱方案👉https://re
Thumbnail
35年後再與大學生一起上課。
Thumbnail
這篇文章為您提供雅思分數的計算方式,報名地點、考試方式以及重考、複查相關資訊。如果您有雅思考試的需求,這篇文章應該要好好收藏起來!
Thumbnail
測驗的目的 The purpose of the exam 實人雖然不打分數,也拒絕排名,但是並不代表我們不在意每段學習的驗收,這天數學的因倍數迎來了總測,除卻每次老師改完試卷,和孩子看到結果的共同崩潰感,我們能有什麼積極的作為?因為我們都清楚明白,測驗的目的不是為了擊垮師生,還是能有更深的彼此認
Thumbnail
《第3篇》想起有趣事,這是發生在高職的真人真事,有位同學考試,考券都選擇題,為什那位同學每一題都有填,卻還會0分呢? ※封面為AI生成※
有的人上課與學習是為了尋找同類並相互支持、增進彼此。 有的人上課則為了在課堂上與同類較勁以彰顯自己的優越。 參與共修學習是為了接觸自己眼界之外的人生百態、看見更多世間萬物風貌,以培養我們內在的謙遜與和善之心,而非增長桀驁不馴、不可一世的狂妄之心。 「我感覺上那些程度的課都在浪費時間跟錢...
Thumbnail
這篇寫給天性焦慮想在考試之前搞懂考場detail的夥伴們,準備方法與書單請左轉其他大神的文章><
Thumbnail
學期的開始,怎麼幫助學生做好時間規劃,展開一系列的學習? 可以運用Numbers工作表讓人一目瞭然的特性, 適合設計一張張學期生活規劃表, 帶領學生學習規劃生活、成為自己的主人。