如何在SQL中使用distinct关键字?

如何在SQL中使用distinct关键字?,sql,group-by,count,subquery,having-clause,Sql,Group By,Count,Subquery,Having Clause,我尝试了以下查询: select class from courses WHERE distinct student having count(class)>=5 ; 基本上,我在尝试同时获得所有计数超过5的类 我尽量不让学生重复学习。这意味着一个学生只能对应一个班级。但是我有一个语法错误。任何帮助都将不胜感激。 输入示例: {标题:{课程:[学生,班级]},行:{课程:[[A,数学],[B,英语],[C,数学],[D,生物],[E,数学],[F,数学],[A,数学]]} 示例输出: {

我尝试了以下查询:

select class
from courses
WHERE distinct student
having count(class)>=5 ;
基本上,我在尝试同时获得所有计数超过5的类 我尽量不让学生重复学习。这意味着一个学生只能对应一个班级。但是我有一个语法错误。任何帮助都将不胜感激。 输入示例: {标题:{课程:[学生,班级]},行:{课程:[[A,数学],[B,英语],[C,数学],[D,生物],[E,数学],[F,数学],[A,数学]]} 示例输出:
{headers:[class],values:[]}

我知道您希望班级中至少有5名学生不属于其他班级

如果是这样,您可以使用聚合而不存在:


如果您想让五名或五名以上的学生上课,您需要:

select class
from courses
group by class
having count(*) >= 5

我不清楚目标是什么。学生如何融入你的模式?假设表格是这样的:学生A,数学学生B,数学学生A,数学我不想让学生A数到两次。如果一个学生属于几个班级,你想把他算在哪个班级?只算一次!显然,正确的答案是:``从课程组中选择COUNTDISTINCT student>=5的班级```
select class
from courses
group by class
having count(*) >= 5