网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

sql如何查找重复数据

这篇文章主要讲解了“sql如何查找重复数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“sql如何查找重复数据”吧!

创新互联专业为企业提供西藏网站建设、西藏做网站、西藏网站设计、西藏网站制作等企业网站建设、网页设计与制作、西藏企业网站模板建站服务,10年西藏做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

编写一个SQL查询,查找学生表中所有重复的学生名。

【解题思路】

1.看到“找重复”的关键字眼,首先要用分组函数(group by),再用聚合函数中的计数函数count()给姓名列计数。

2. 分组汇总后,生成了一个如下的表。从这个表里选出计数大于1的姓名,就是重复的姓名。

【解题步骤】

方法一

1)创建一个辅助表,将姓名列进行行分组汇总

select 姓名, count(姓名) as 计数

from 学生表

group by 姓名;

2)选出辅助表中计数大于1的姓名

select 姓名 from 辅助表

where 计数 > 1;

3)结合前两步,将“创建辅助表”的步骤放入子查询

select 姓名 from

(

select 姓名, count(姓名) as 计数

from 学生表

group by 姓名

) as 辅助表

where 计数 > 1;

方法二

这时候有的同学可能会想,为什么要这么麻烦创建一个子查询,不能用这个语句(将count放到where字句中)直接得出答案吗?

select 姓名

from 学生表

group by 姓名

where count(姓名) > 1;

如果我们运行下这个sql语句,会报下面的错误,问题出在哪里呢?

前面提到聚合函数(count),where字句无法与聚合函数一起使用。因为where子句的运行顺序排在第二,运行到where时,表还没有被分组。

如果要对分组查询的结果进行筛选,可以使用having子句。所以,这道题的最优方法如下:

select 姓名

from 学生表

group by 姓名

having count(姓名) > 1;

感谢各位的阅读,以上就是“sql如何查找重复数据”的内容了,经过本文的学习后,相信大家对sql如何查找重复数据这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网页题目:sql如何查找重复数据
文章源于:http://bjjierui.cn/article/ihooop.html

其他资讯