用Sql语句如何查询有重复的数据
知识问答 2022-02-23 04:12:46 admin
一个数据库表里可能有些数据插入多次了,导致有重复的数据。如何查询出这些重复的数据?一起看下。
操作方法
【步骤01】
先看下我们表里的数据,从图中看到,现在表里有多行name一样的数据。
【步骤02】
如何查询出这些重复的数据呢?我们可以用exists语句来处理。代码如图,
exists子查询是先得到有相同名字的记录,然后再在exists外查询其它字符的数据。
【步骤03】
运行结果如图,查到了这些重复名字的数据行。
【步骤04】
除了用exists语句,我们还可以用group by语句和having语句结合来查询。代码如图,group by name的意思是以name字段为分组,而having c > 1的意思是分组里的name的个数大于1的。
【步骤05】
运行后的结果也找出了这个重复的name。即所有的name有相同的个数大于1的都找出来了。
【步骤06】
这些有重复name的数据,其它字段怎么查询出来呢?
有人说用where语句就行了,where name in('wenwen','sohu'),代码如图
【步骤07】
结果如图,这样确实可以查到。
但在查询前我们并不知道哪些name是有重复的。况且如果数据量大的话,相同的name就有可能有几百个,这个in语句就有得写了。
【步骤08】
那怎么查询?可以用inner join联合查询语句。代码如图
【步骤09】
运行后,得到正确的查询结果。
可以看到用联合查询,我们并不需要事先知道有哪些name是重复的,也不必担心有太多的重复数据。
标签:
相关文章
发表评论
评论列表