簡體   English   中英

如何使用SQL比較不同行的列值

[英]How to compare column values of different rows with SQL

我有一張桌子,其中包含一系列教師,他們正在教授的課程,以及有多少學生通過以及有多少學生失敗。

Teacher-ID       Class          Pass/Fail       Count
-------------------------------------------------------
1                English        Pass            15
1                English        Fail            5
1                Math           Pass            20
1                Math           Fail            10
2                Science        Pass            15
2                Science        Fail            10
2                Spanish        Pass            20
2                Spanish        Fail            8

我想要做的是獲得每個教師和班級組合中有多少學生失敗的百分比。

Teacher-ID       Class          % Failed
-------------------------------------------------------
1                English        25%
1                Math           33%
2                Science        40%
2                Spanish        29%

我很難過如何使用SQL來做到這一點。

這是您可以使用的查詢:

SELECT
  TeacherID,
  Class,
  SUM(CASE WHEN PassFail = 'Fail' THEN Count ELSE 0 END) * 100.0 /SUM(Count) as FailPersent
FROM tbl
GROUP BY TeacherID, Class

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM