2011-09-20 124 views
0

我有一個這樣的表。從表中選擇重複條目並獲取重複行的所有字段

id day1 day2 day3 
1 411  523  223 
2 413  554  245 
3 417  511  209 
4 420  515  232 
5 422  522  212 
6 483  567  212 
7 456  512  256 
8 433  578  209 
9 438  532  234 
10 418  555  223 
11 460  510  263 
12 453  509  245 
13 441  524  233 
14 430  543  261 
15 456  582  222 
16 444  524  241 
17 478  511  211 
18 421  583  222 

我想選擇day2中具有重複值的所有ID。 我做

select day2,count(*) from resultater group by day having count(*)>1; 

是否可以列出組內的所有ID?

回答

2
select day2,count(*), group_concat(id) 
    from resultater 
    group by day 
    having count(*)>1; 

應該做的伎倆。

+0

確實,謝謝! 現在,如果我要在另一個查詢中使用這些ID,是否需要帶解析器的腳本? – Megimoo

+0

不,在這種情況下,您最好在第2天觸發 - 或者將上面的查詢嵌入到子查詢中。類似於'select ... from ... where day2 in(選擇day2從每天有count(*)> 1)的resultater組;''。 – glglgl

+0

當然,現在你明白這一點非常明顯。 – Megimoo