在MySQL中选择不同的对

2022-04-03 00:00:00 distinct mysql

我要选择A列和B列具有相同值的行。

例如,如果我的表是:

-----
A | B
-----
1 | 2
3 | 4
1 | 2
4 | 5

输出应为:

A  B
1  2
  • [A]SELECT DISTINCT A, B FROM table;
    选择表中的所有值。
  • [B]SELECT DISTINCT (A, B) FROM table;
    告诉我DISTINCT函数只能接受一个值。
  • [C]SELECT A, B FROM table GROUP BY A, B;
    选择表中的所有值(类似于A)。

该问题类似于Selecting Distinct combinations.,但答案表明问题不起作用。


解决方案

您只需要具有重复项的行。您可以使用HAVING子句根据聚合函数筛选数据的"分组":

SELECT   A,B
FROM     tbl
GROUP BY A,B
HAVING   COUNT(*) > 1

相关文章