我需要運行在每天學生總量的報告。我遇到的問題是,在我的子查詢中,我不能做一個適當的小組,以便在一天之內我想知道有多少人因爲某個特定的原因而出現。問題與子查詢
我的查詢是:
SELECT
DATE_FORMAT(session.signintime, '%b %d %Y') Date,
COUNT(session.session_id) 'Total',
(SELECT COUNT(aidyear) FROM session WHERE aidyear = '12-13') '12-13',
(SELECT COUNT(aidyear) FROM session WHERE aidyear = '13-14') '13-14'
FROM session
WHERE status = '3'
GROUP BY Date;
生成的報告爲:
+-------------+-------+-------+-------+
| Date | Total | 12-13 | 13-14 |
+-------------+-------+-------+-------+
| Apr 15 2013 | 47 | 38 | 25 |
| Apr 16 2013 | 5 | 38 | 25 |
+-------------+-------+-------+-------+
2 rows in set (0.00 sec)
正如你看到的2013年4月16日共有5名的學生是。現在請注意,兩行的12-13 13-14是相同的。
當我嘗試通過子查詢中做一組我得到這個錯誤:
ERROR 1241(21000):操作數應包含1列(S)
這意味着子查詢返回的行數多於我的理解。
我試圖與此查詢:
SELECT
DATE_FORMAT(session.signintime, '%b %d %Y') Date,
COUNT(session.session_id) 'Total',
(SELECT DATE_FORMAT(session.signintime, '%b %d %Y') Date,
COUNT(aidyear) FROM session WHERE aidyear = '12-13' GROUP BY Date) '12-13',
(SELECT DATE_FORMAT(session.signintime, '%b %d %Y') Date, COUNT(aidyear) FROM session WHERE aidyear = '13-14' GROUP BY Date) '13-14'
FROM session WHERE status = '3'
GROUP BY Date;
編輯1按照要求埃文
我從查詢表僅會話表。我不加入(如你注意到)
表有以下幾點:
Primary Key : session_id
Foreign Key : anum(which is a student ID)
然後我們有: why, aidyear, signintime, studentcomments, status
您能否給我們提供正在查詢的表格的佈局以及一些示例數據? –
更新的原文。 –
以及數據的實際生活數據,我發現這個故障,我很喜歡嗯,哦.. –