如何编写一条sql语句来返回在过去12个月中每个月有多少students拥有lessons的列表?
因此,我希望输出如下所示:
+--------+----------------+
| Month | No of Students |
+--------+----------------+
| Oct 08 | 12 |
| ... | ... |
| ... | ... |
| Sep 09 | 15 |
+-------------------------+编辑:相关模式-
lessons{student_id:INT, time:DATE}
student{id:INT, person_id:INT}学生可以在一个给定的月份上任意数量的课,所以我对一个月内有多少课不感兴趣,而是对那个月有多少学生上了课感兴趣
发布于 2009-09-27 20:38:01
CREATE TABLE tmp (student_id int(10), month int(4), year int(4));
INSERT INTO tmp
SELECT DISTINCT student.id, MONTH(time), YEAR(time)
FROM lessons INNER JOIN student ON lessons.student_id = student.id
WHERE PERIOD_ADD(time,12) > NOW();
SELECT count(*) FROM tmp
GROUP BY MONTH(month), YEAR(year);
DROP TABLE tmp;https://stackoverflow.com/questions/1484408
复制相似问题