由student_id对任何课程的唯一标记进行SQL组行

时间:2015-05-04 19:01:39

标签: mysql select group-by

我有一个这样的SQL表:

Student_id     mark         course
----------     --------     ---------
1              15           math
1              15           physics
2              15           math
2              16           physics

并希望产生此输出:

Student_id     mark         count
----------     --------     ---------
1              15           2
2              15           1
2              16           1

计数每个学生的单个唯一标记的数量(在任意数量的课程中)

1 个答案:

答案 0 :(得分:2)

SELECT `student_id`, `mark`, count(1) AS `count`
FROM `the_table`
GROUP BY `student_id`, `mark`
;

如果您希望按照特定顺序获得结果,那么现在" GROUP BY"在MySql中做到了,但是我最近听说它在最新版本中被弃用了,所以你可能想要在GROUP BY之后添加一个ORDER BY来为将来证明一点。

相关问题