SQLクエリで合計行数を返します。以下は私の質問です。SQL 'COUNT'関数が機能していません
SELECT COUNT(*) AS tot_std
FROM `student_main` AS sm,
`student_subjects` AS stds,
`sub_subjects` AS ss
WHERE stds.`student_id` = sm.`studen. t_id`
AND stds.`subs_id` = ss.`subs_id`
AND stds.`subs_id` = 1
AND sm.`std_postcode` LIKE '%HA02AN%'
GROUP BY stds.`student_id`
問合せは、3つのテーブル結合します 1)student_main
メインテーブル格納学生の情報です。科目/コース 3に関する情報を格納するためのメインテーブルである 2)sub_subjects
)student_subjects
このテーブルは外部キーとしてSTUDENT_IDとsubs_idの両方で構成され、学生が取っている被験者を示しています。続き
はstudent_subjects
テーブルのスクリーンショットです。
私はクエリを実行すると、3名の学生が、ID 1で件名を勉強しているので、出力に3を表示するようになっているが、代わりにクエリが私にこのような出力が得られます。
助けてください。
'group by'を使用すると、集計関数(' count() 'など)はグループ化されているため、すべてのグループに適用され、完全な結果セットではありません –
。グループを削除します。それは動作します –