001简单查询
【题目】
编写一个 SQL 查询,查找学生表中所有重复的学生名
1.编写一个SQL查询,查找学生表中所有重复的学生名。
#解题思路:重点是 重复 重复意味着 大于等于2 也就是说涉及到 统计需要用到 count 而统计往往伴随着分组
方法一:
select q1.name from
(select name ,count(name) as ‘学生名’ from stu1 ##第一步:创建子查询,对名字进行分组,并进行统计
##第二步:对子查询进行筛选 统计数大于等于2的 才算是重复,并输出结果
group by name)as q1
where 学生名>1
方法二:一般在进行分组 GROUP BY 之后有官方的 筛选 having
select name ,count(name) as ‘学生名’ from stu1
group by name
having 学生名>1
1)考察思路,有两种解题方法,但是使用having语句的方法更高效。
2)考察对having语句的掌握,很多人会把聚合函数写到where子句中。
3)熟记SQL子句的书写顺序和运行顺序。