このSQL文を理解するのにはいくつかの困難があります。SQL Count()が望ましい結果を出していません
以下は、表のスキーマです。
ここではその学生のための0 /総エントリ数は
studentID |subjectID | attendanceStatus | classDate |
1234567 ... 1 .....
1234567 ... 0
は基本的に私はstudentIDに基づいて出席率をカウントし、この
studentID | subjectID | attendancePercentage
attendancePercentageのように列でそれらを表示したいです私がやったことであり、望みの結果を出していませんでした。
SELECT studentID, COUNT(attendanceStatus = 0) AS Absent,
COUNT(attendanceStatus = 1) As Present
FROM attendance WHERE studentID = '1234567';
これは失敗しました。
私が達成しようとしていることを理解してくれることを願っています。
MySQL以外のDBMSでは、select-listの非aggragateカラムをすべて列挙するGROUP BY句が必要です。それでもMySQLでは正しいでしょう。それはおそらく100%必要ではありません。 –
「失敗しました」という文はあまり役に立ちません。あなたが得た結果とそれがなぜ間違っていたのかを述べる方が良いでしょう。または、場合によっては、エラーメッセージが表示されています(問題は、まれな結果ではなくエラーが表示された可能性があります)。 –
ありがとうございます。私は次回より具体的にしようとします。 – Jian