如何在 SQL 中使用 distinct 关键字?
How to use distinct keyword in SQL?
我尝试了以下查询:
select class
from courses
WHERE distinct student
having count(class)>=5 ;
基本上我试图同时获取所有计数超过 5.On 的 classes
我正在努力避免重复学生。所以这意味着一个学生只能对应一个class。但是我有一个语法错误。任何帮助,将不胜感激。
输入示例:
{"headers": {"courses": ["student", "class"]}, "rows": {"courses": [["A", "Math"], ["B", "English"], ["C", "Math"], ["D", "Biology"], [ "E", "Math"], ["F", "Math"], ["A", "Math"]]}}
示例输出:
{"headers":["class"],"values":[]}
我知道您想要 class 至少有 5 名不属于另一个 class 学生的课程。
如果是这样,您可以使用聚合和 not exists
:
select class
from courses c
where not exists (
select 1 from class c1 where c1.class <> c.class and c1.student = c.student
)
group by class
having count(*) > 5
如果您想要 类 有五个或更多学生,您需要聚合:
select class
from courses
group by class
having count(*) >= 5
我尝试了以下查询:
select class
from courses
WHERE distinct student
having count(class)>=5 ;
基本上我试图同时获取所有计数超过 5.On 的 classes 我正在努力避免重复学生。所以这意味着一个学生只能对应一个class。但是我有一个语法错误。任何帮助,将不胜感激。 输入示例: {"headers": {"courses": ["student", "class"]}, "rows": {"courses": [["A", "Math"], ["B", "English"], ["C", "Math"], ["D", "Biology"], [ "E", "Math"], ["F", "Math"], ["A", "Math"]]}} 示例输出: {"headers":["class"],"values":[]}
我知道您想要 class 至少有 5 名不属于另一个 class 学生的课程。
如果是这样,您可以使用聚合和 not exists
:
select class
from courses c
where not exists (
select 1 from class c1 where c1.class <> c.class and c1.student = c.student
)
group by class
having count(*) > 5
如果您想要 类 有五个或更多学生,您需要聚合:
select class
from courses
group by class
having count(*) >= 5