0
我在計算這條SQL語句時遇到了一些困難。SQL計數()沒有給出想要的結果
這是表的模式。
studentID |subjectID | attendanceStatus | classDate |
1234567 ... 1 .....
1234567 ... 0
基本上我想算基礎上,studentID出席率和列這樣
studentID | subjectID | attendancePercentage
attendancePercentage顯示它們是0 /參賽作品總數爲學生人數
這裏是我所做的,並沒有給出預期的結果。
SELECT studentID, COUNT(attendanceStatus = 0) AS Absent,
COUNT(attendanceStatus = 1) As Present
FROM attendance WHERE studentID = '1234567';
失敗。
我希望我能夠理解我正在努力實現的目標。
在除MySQL以外的任何DBMS中,您需要一個GROUP BY子句列出選擇列表中的每個非集合列。它在MySQL中仍然是正確的;它可能不是100%必要的。 –
「失敗」的說法不是很有幫助;說出你得到的結果會更好,以及爲什麼它是錯的。或者,在某些情況下,你得到的錯誤信息(和問題是,大概是,你得到了錯誤,而不是一個體面的結果)。 –
謝謝。我會在下次更具體的時候嘗試。 – Jian