显示MySQL中包含相同值的所有行(2列过滤器)

时间:2013-03-14 21:51:27

标签: mysql database

我有一张这样的表

| c1 | c2 |
+----+----+
| a  | 2  |
| c  | 1  |
| c  | 2  |
| d  | 3  |
| a  | 2  |
| c  | 2  |
| c  | 4  |
| d  | 2  |

我想从c1中选择具有相同c2的值。我试过这个

SELECT c2, GROUP_CONCAT(DISTINCT c1)
FROM table
group by c2;

我得到了

| c2 | c1   |
+----+------+
| 1  | c    |
| 2  | a,c,d| <==
| 3  | d    |
| 4  | c    |

如何选择仅显示c1上具有多于1个值的行作为第2行?

1 个答案:

答案 0 :(得分:2)

SELECT c2, GROUP_CONCAT(DISTINCT c1)
FROM table
group by c2 HAVING count(distinct c1)>1