Mysql 子查询问题

Mysql 子查询问题,mysql,select,subquery,Mysql,Select,Subquery,我需要做一份关于每天学生总数的报告。我遇到的问题是,在我的子查询中,我无法进行适当的分组,因此,在一天之内,我想知道有多少人是出于特定原因进入的 我的问题是: SELECT DATE_FORMAT(session.signintime, '%b %d %Y') Date, COUNT(session.session_id) 'Total', (SELECT COUNT(aidyear) FROM session WHERE aidyear = '12-13')

我需要做一份关于每天学生总数的报告。我遇到的问题是,在我的子查询中,我无法进行适当的分组,因此,在一天之内,我想知道有多少人是出于特定原因进入的

我的问题是:

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-14是相同的

当我尝试在子查询中执行group by时,会出现以下错误:

错误1241(21000):操作数应包含1列

这意味着子查询将返回多于一行

我尝试了以下查询:

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;
根据Evan的要求编辑1

我正在查询的表只是会话表。我没有加入(正如你所注意到的)

该表包含以下内容:

Primary Key : session_id
Foreign Key : anum(which is a student ID)
然后我们有:
为什么、aidyear、signintime、STUDENTCOMMENT、status

似乎您应该能够将
案例
用于聚合:

SELECT DATE_FORMAT(session.signintime, '%b %d %Y') Date, 
  COUNT(session.session_id) 'Total', 
  sum(case when aidyear = '12-13' then 1 else 0 end) '12-13',
  sum(case when aidyear = '13-14' then 1 else 0 end) '13-14'
FROM session 
WHERE status = '3' 
GROUP BY Date;

你能给我们一些被查询的表格的布局以及一些示例数据吗?更新了原始帖子。而这些数据实际上是实时数据,我注意到了这个小故障,我想呃哦..谢谢编辑,你能提供一些示例记录吗?我不能,因为这些实时数据,我不能只是在系统中添加假记录。我现在正在工作。但是蓝脚帮了我,伙计,你的帅哥!我甚至都不知道这个案子。非常感谢,它很有效!我忘了打绿色支票,我反而打了你。