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
46會員
110內容數
我們秉持著從原人進化的精神,不斷追求智慧的累積和工具的運用來提升生產力。我們相信,每一個成員都擁有無限的潛力,透過學習和實踐,不斷成長和進步。
留言
avatar-img
留言分享你的想法!
DigNo Ape 數遊原人 的其他內容
請在表1查找每個月份和國家的交易數量及其總金額、已批准交易的數量及其總金額(如表2),結果可以以任何順序返回。 請使用下列三種語法查找: 1. MS SQL Server 查詢 2. MySQL 查詢 3. Pandas 查詢
請在表1查找每個月份和國家的交易數量及其總金額、已批准交易的數量及其總金額(如表2),結果可以以任何順序返回。 請使用下列三種語法查找: 1. MS SQL Server 查詢 2. MySQL 查詢 3. Pandas 查詢
你可能也想看
Google News 追蹤
Thumbnail
靈感用盡、鍵盤不再響,盯著喜歡、分享、留言的數字,心跳跟著小鈴鐺七上八下⋯⋯vocus 2025 年 4 月限定新商品,要為創作者打氣! 🚨「創作者打氣包」 最懂創作者的vocus,為創作者打造 ✨ 打氣包,包什麼?!四件道具挺創作者 一、【打氣復活卷】 專屬你的打氣小語,成功登記免費
Thumbnail
全新 vocus 挑戰活動「方格人氣王」來啦~四大挑戰任你選,留言 / 愛心 / 瀏覽數大 PK,還有新手專屬挑戰!無論你是 vocus 上活躍創作者或剛加入的新手,都有機會被更多人看見,獲得站上版位曝光&豐富獎勵!🏆
Thumbnail
35年後再與大學生一起上課。
Thumbnail
這篇文章為您提供雅思分數的計算方式,報名地點、考試方式以及重考、複查相關資訊。如果您有雅思考試的需求,這篇文章應該要好好收藏起來!
Thumbnail
想起有趣事,這是發生在高職的真人真事,有位同學考試,考券都選擇題,為什那位同學每一題都有填,卻還會0分呢? ※封面為AI生成※
有的人上課與學習是為了尋找同類並相互支持、增進彼此。 有的人上課則為了在課堂上與同類較勁以彰顯自己的優越。 參與共修學習是為了接觸自己眼界之外的人生百態、看見更多世間萬物風貌,以培養我們內在的謙遜與和善之心,而非增長桀驁不馴、不可一世的狂妄之心。 「我感覺上那些程度的課都在浪費時間跟錢...
Thumbnail
這篇寫給天性焦慮想在考試之前搞懂考場detail的夥伴們,準備方法與書單請左轉其他大神的文章><
Thumbnail
學期的開始,怎麼幫助學生做好時間規劃,展開一系列的學習? 可以運用Numbers工作表讓人一目瞭然的特性, 適合設計一張張學期生活規劃表, 帶領學生學習規劃生活、成為自己的主人。
Thumbnail
靈感用盡、鍵盤不再響,盯著喜歡、分享、留言的數字,心跳跟著小鈴鐺七上八下⋯⋯vocus 2025 年 4 月限定新商品,要為創作者打氣! 🚨「創作者打氣包」 最懂創作者的vocus,為創作者打造 ✨ 打氣包,包什麼?!四件道具挺創作者 一、【打氣復活卷】 專屬你的打氣小語,成功登記免費
Thumbnail
全新 vocus 挑戰活動「方格人氣王」來啦~四大挑戰任你選,留言 / 愛心 / 瀏覽數大 PK,還有新手專屬挑戰!無論你是 vocus 上活躍創作者或剛加入的新手,都有機會被更多人看見,獲得站上版位曝光&豐富獎勵!🏆
Thumbnail
35年後再與大學生一起上課。
Thumbnail
這篇文章為您提供雅思分數的計算方式,報名地點、考試方式以及重考、複查相關資訊。如果您有雅思考試的需求,這篇文章應該要好好收藏起來!
Thumbnail
想起有趣事,這是發生在高職的真人真事,有位同學考試,考券都選擇題,為什那位同學每一題都有填,卻還會0分呢? ※封面為AI生成※
有的人上課與學習是為了尋找同類並相互支持、增進彼此。 有的人上課則為了在課堂上與同類較勁以彰顯自己的優越。 參與共修學習是為了接觸自己眼界之外的人生百態、看見更多世間萬物風貌,以培養我們內在的謙遜與和善之心,而非增長桀驁不馴、不可一世的狂妄之心。 「我感覺上那些程度的課都在浪費時間跟錢...
Thumbnail
這篇寫給天性焦慮想在考試之前搞懂考場detail的夥伴們,準備方法與書單請左轉其他大神的文章><
Thumbnail
學期的開始,怎麼幫助學生做好時間規劃,展開一系列的學習? 可以運用Numbers工作表讓人一目瞭然的特性, 適合設計一張張學期生活規劃表, 帶領學生學習規劃生活、成為自己的主人。