【发布时间】:2019-11-15 09:32:50
【问题描述】:
你好,我有一张表,其中一列 jtypeid(14 是活动 | 12 是考试)和 studentid
我想将活动计数和考试计数作为列。我的查询是
SELECT name,surname, count(jtypeid) as activity
FROM lms_journal INNER JOIN
lms_student
ON lms_student.id = lms_journal.studentid
WHERE lms_journal.jtypeid=14
GROUP BY studentid
UNION
SELECT name,surname, count(jtypeid) as exam
FROM lms_journal INNER JOIN
lms_student
ON lms_student.id = lms_journal.studentid
WHERE lms_journal.jtypeid=12
GROUP BY studentid
例如
id jtypeid studentid
1 14 100
2 14 101
3 12 100
4 12 101
5 14 102
6 14 100
结果应该是:
studentid exam activity
100 1 2
101 1 1
102 0 1
【问题讨论】:
标签: mysql sql group-by sum pivot