用Sql语句如何查询有重复的数据?

一个数据库表里可能有些数据插入多次了,导致有重复的数据。如何查询出这些重复的数据?一起看下。

操作方法

  • 01

    先看下我们表里的数据,从图中看到,现在表里有多行name一样的数据。

  • 02

    如何查询出这些重复的数据呢?我们可以用group by语句和having语句结合来查询。代码如图,group by name的意思是以name字段为分组,而having c > 1的意思是分组里的name的个数大于1的。

  • 03

    运行后的结果就是找出了这个重复的name。即所有的name有相同的个数大于1的都找出来了。

  • 04

    这些有重复name的数据,其它字段怎么查询出来呢?
    有人说用where语句就行了,where name in('wenwen','sohu'),,代码如图

  • 05

    结果如图,这样确实可以查到。
    但在查询前我们并不知道哪些name是有重复的。况且如果数据量大的话,相同的name就有可能有几百个,这个in语句就有得写了。

  • 06

    那怎么查询?可以用inner join联合查询语句。代码如图

  • 07

    运行后,得到正确的查询结果。
    可以看到用联合查询,我们并不需要事先知道有哪些name是重复的,也不必担心有太多的重复数据。

  • End
  • 发表于 2017-11-28 00:00
  • 阅读 ( 869 )
  • 分类:电脑网络

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具