我有一张这样的桌子

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

最佳答案

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

关于mysql - 显示MySQL中包含相同值的所有行(2列过滤器),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15420878/

10-13 00:56