我们有4张桌子 学生,学校,地点和学生学校 学生可以拥有相同的名字,但他们是不同的人 每个学生只能在一所学校,每所学校都在一个地方
我们发现同一个学生位于两个不同的学校
在此示例中,带有Id'1'的“Adam Mike”位于不同地点的2所不同学校。
如何找到位于2所不同学校的所有学生的名单?
答案 0 :(得分:1)
您只需要搜索一个表
select student_id
from school_student
group by student_id
having count(*) > 1
答案 1 :(得分:0)
在结果中,按名称(SQL中为group by
)对学生进行分组,在组中生成他们的计数(在SQL中为count(*)
),然后仅过滤那些有计数>的人。 1(SQL中为having count(*) > 1
)。
我不知道如何在查询构建工具中表达它,但它必须支持它。
请注意,此类分组会丢失ID和学校名称;您将不得不使用名称再次查询它们。