數據:
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了。