MySQL根据一行的唯一性选择DISTINCT多列?

时间:2012-05-08 01:48:29

标签: mysql

我试图理解这个查询的确切内容:

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

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

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

2 个答案:

答案 0 :(得分:18)

DISTINCT将只返回不同的行,所以:

  

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

两栏

您也可以切换到GROUP BY。

SELECT `state`, `state_name` FROM `geo` group by 'state', 'state_name' ORDER BY `state_name` ASC 

答案 1 :(得分:1)

它正在检查state和state_name的唯一组合。 Distinct适用于您的选择列表中包含的所有列。

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