我想要一個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`
查詢聯接三個表: 1)student_main
這是主表和存儲的學生信息。 2)sub_subjects
這是存儲主題/課程信息的主表 3)student_subjects
此表包含student_id和subs_id作爲外鍵,並顯示學生正在學習的科目。
以下是student_subjects
表的截圖。
現在,當我運行查詢,它應該在的輸出,因爲一共有3名學生正在研究與ID爲1的主題,而是查詢給了我一個輸出類似這樣的顯示3:
請幫助。
當您使用'group by'時,所有聚合函數(如'count()')適用於每個組,而不適用於由於group by而導致的完整結果集 –
。刪除組。它會工作 –