Mysql 重复的SQL ID对

Mysql 重复的SQL ID对,mysql,sql,Mysql,Sql,假设我有两个SQL表(弥补了这个问题) 班级 Name | Id --------------- Art | 1 CS | 2 Math | 3 学生课堂 StudentId | ClassId -------------------- 1 | 1 3 | 2 1 | 1 现在StudentId和ClassId应该是唯一的对(我知道可以定义为

假设我有两个SQL表(弥补了这个问题)

班级

Name    |    Id
---------------
Art     |     1
CS      |     2
Math    |     3
学生课堂

StudentId  | ClassId
--------------------
1          |       1
3          |       2
1          |       1
现在StudentId和ClassId应该是唯一的对(我知道可以定义为约束,但对于类中的这个特定问题,这是不相关的)。我需要定义一个查询,该查询将显示studentId、classId和count(如果学生在一个类中出现多次)。所以基本上,重复ID对的数量。我该怎么做呢

(显示行以供参考)


这是一个简单的聚合查询,其中有一个
子句,可以对出现多个元组的元组进行筛选:

select StudentId, ClassId, count(*) cnt
from StudentInClass
group by StudentId, ClassId
having count(*) > 1

如果您认为一个事实应该只存在一次,那么应该使用数据库约束#2nf@wildplasser我知道,但作业的要求似乎没有约束(我的数据库设计有约束)。我在我的问题中是这么说的
select StudentId, ClassId, count(*) cnt
from StudentInClass
group by StudentId, ClassId
having count(*) > 1