【问题标题】:MySQL Select DISTINCT multiple columns based on the uniqueness of one row?MySQL根据一行的唯一性选择DISTINCT多列?
【发布时间】:2012-05-08 01:48:28
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: mysql


    【解决方案1】:

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

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

    两列

    您也可以改用 GROUP BY。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多