gpt4 book ai didi

MySQL :Need to get unique field of two row on base of a column having two different value

转载 作者:行者123 更新时间:2023-11-29 04:03:57 26 4
gpt4 key购买 nike

我有一个这样的数据库结构。

这只是一个虚拟表。

studentId | marks | grade |  examId
1 25 A 23
1 32 A 24
2 13 B 24
2 23 A 25
2 34 A 26

我想编写一个查询来获取参加过两次考试的学生的 studentId。结果,我应该得到 studentId '1' 而不是 '2',因为 studentId 2 的学生不在 exam-'23' 中。

我想要 examId 23 和 24 中存在的 studentId,与记录数无关。

现在我已经写了这个查询,但它不是最好的性能。

SELECT studentId FROM students WHERE examId = 23 AND studentId in (select studentId FROM students where examId in (24) ) 

我期待性能更好的查询。

好的,根据与 Nicollof 的对话,最终答案是

SELECT studentId FROM students WHERE examId IN(23, 24) GROUP BY studentId HAVING COUNT(studentId) = 2

最佳答案

select studentId from students 
where studentId in (23,24)
group by studentId
having count(studentId) >1

where 子句过滤结果,然后应用 group by 子句,因此您将得到想要的结果。

关于MySQL :Need to get unique field of two row on base of a column having two different value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5003425/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com