假设我有两个 SQL 表(弥补了这个问题)
类
Name | Id
---------------
Art | 1
CS | 2
Math | 3
学生上课
StudentId | ClassId
--------------------
1 | 1
3 | 2
1 | 1
现在 StudentId 和 ClassId 应该是唯一的对(我知道可以将其定义为约束,但对于类里面的这个特定问题,这是无关紧要的)。我需要定义一个查询,该查询将显示 studentId、classId 并计算一个学生是否在一个类(class)中出现多次。所以基本上,重复 ID 对的数量。我该怎么做呢?
(显示的行以供引用)
StudentId | ClassId | Count
-----------------------------
1 | 1 | 2
最佳答案
这是一个简单的聚合查询,带有一个 having
子句来过滤多次出现的元组:
select StudentId, ClassId, count(*) cnt
from StudentInClass
group by StudentId, ClassId
having count(*) > 1
关于mysql - 重复的 SQL ID 对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58584198/