2011-09-20 94 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