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