sql输出表中重复数据


数据:

1 1 2 3
2 2 2 3
3 1 2 3
4 2 2 3
5 2 1 3
6 1 1 3
7 3 2 1

 

表格查询:

 

 SELECT * FROM `t1`;

 

可以看到,如果界定为 a、b、c 都相同即为重复数据,那么sql的目的就是取出这样的数据。

。。。

按a分组,取数量:

SELECT a,COUNT(1) FROM `t1` GROUP BY a HAVING COUNT(1)>0;

看看出 a是1的有3条记录...

 

。。。

 

SELECT id,a,b,c,COUNT(1) AS cnt from t1 GROUP BY a,b,c HAVING cnt>1;

 

可以看出 abc都相同的有两类,每类有两条,一个是 abc都为123,另一个是abc都为223

这样就取出重复的数据,但是也只能取出重复的数据是 abc为123,和 abc为223,并不能一次取出重复的所有Id,如果要取出所有重复id还要继续查询 ,也就是遍历上面的结果,每次都是根据 abc的值查询就可以查询出所有重复的记录的id了。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM