1

我有一张这样的桌子

| 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 行?

4

1 回答 1

2
SELECT c2, GROUP_CONCAT(DISTINCT c1)
FROM table
group by c2 HAVING count(distinct c1)>1
于 2013-03-14T21:56:29.900 回答