8

我试图了解此查询的确切作用:

SELECT DISTINCT `state`, `state_name` FROM `geo` ORDER BY `state_name` ASC

我要做的就是选择 2 列(state 和 state_name),我只想要 state 字段没有重复值的唯一行。我不在乎 state_name 字段中是否有重复值。

我的查询是检查两列的唯一性还是仅检查状态?

4

2 回答 2

18

DISTINCT 将仅返回不同的行,因此:

我的查询是检查两列的唯一性还是仅检查状态?

两列

您也可以改用 GROUP BY。

SELECT `state`, `state_name` FROM `geo` group by 'state', 'state_name' ORDER BY `state_name` ASC 
于 2012-05-08T01:54:17.067 回答
1

它正在检查 state 和 state_name 的唯一组合。Distinct 对您的选择列表中包含的所有列进行操作。

要仅包含唯一的状态值,只需选择不同的状态

于 2012-05-08T01:51:55.950 回答