gpt4 book ai didi

sql - 如何在 'same' 条件下选择一个值?

转载 作者:行者123 更新时间:2023-12-02 08:02:25 26 4
gpt4 key购买 nike

我正在尝试使用 SQL 查询来了解有多少学生在同一学期学习了 2 个科目。

我有一个有 3 行的表格,我想找出哪个学生在同一学期同时学习了科目“4877”和“4897”。但我不知道如何形容“同一学期”。

student subject semester1070781 4877    1261070781 4897    1261076677 4877    1351078595 4877    1261078595 4897    1261078716 4897    1271079496 4877    1261079496 4897    1261079627 4897    1271080640 4877    127...
SELECT student 
FROM table
WHERE "studied 4877 and 4897 in the same semester";
student10707811078595 1079496 ...

最佳答案

您可以使用此查询:

SELECT studentid, semester
FROM mytable
WHERE subject IN (4877, 4897)
GROUP BY studentid, semester
HAVING COUNT(DISTINCT subject) = 2

查询返回至少在一个学期内参加过这两个科目的所有学生 ID。

注意:HAVING 子句使用COUNT DISTINCT 而不是简单的COUNT 以避免返回false正面记录如下例:

student subject semester
------------------------
1070781 4877 126
1070781 4877 126

关于sql - 如何在 'same' 条件下选择一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55702611/

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