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

一个数据库表里可能有些数据插入多次了 , 导致有重复的数据 。 如何查询出这些重复的数据?一起看下 。 操作方法 01 先看下我们表里的数据 , 从图中看到 , 现在表里有多行name一样的数据 。

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

文章插图

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

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

文章插图

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

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

文章插图

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

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

文章插图

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

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

文章插图

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

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

文章插图

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

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

文章插图



以上内容就是用Sql语句如何查询有重复的数据?的内容啦 , 希望对你有所帮助哦!

    推荐阅读