如何在mysql中选择不同的2列?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (43)

我有一个MySQL表,如下所示:

1   value1    value2    3534
2   value1    value1    8456
3   value1    value2    3566
4   value1    value3    7345
5   value2    value3    6734

我需要一个查询来选择具有不同列2和3的所有行,例如,本例所需的输出如下所示:

1   value1    value2    3534
2   value1    value1    8456
4   value1    value3    7345
5   value2    value3    6734

我该怎么做?

提问于
用户回答回答于

假设第一列是唯一的,你可以这样做:

SELECT id, col2, col3, col4
FROM yourtable
WHERE id IN
(
    SELECT MIN(id)
    FROM yourtable
    GROUP BY col2, col3
)

看看这个:sqlfiddle

用户回答回答于

假设表中的列是(id,col2,col3,col4)。

SELECT DISTINCT(CONCAT(col2, col3)) as "dummy column", id, col2, col3, col4
FROM yourtable
GROUP BY CONCAT(col2, col3);

SELECT id, col2, col3, MIN(col4)
FROM yourtable
GROUP BY col2, col3;

扫码关注云+社区

领取腾讯云代金券