【问题标题】:ORDER BY SQL how to deal with same values?ORDER BY SQL 如何处理相同的值?
【发布时间】:2013-10-16 10:23:26
【问题描述】:

例如,我有下表

ID      value1       value2
1        10            12
2        14            15
3        14            19
4        19            20

使用我的 SQL 查询

SELECT * FROM table ORDER BY value1 DESC

如果 value1 中的数字与另一个相同(例如在第 2 行和第 3 行中)

我怎样才能按 value2 ASC 排序?

即最终订单将是

ID      value1       value2
4        19            20
2        14            15
3        14            19
1        10            12

【问题讨论】:

    标签: mysql sql sql-order-by


    【解决方案1】:

    只需用逗号附加,优先级从左到右。

    SELECT * FROM table ORDER BY value1 DESC, value2 ASC
    

    【讨论】:

      【解决方案2】:

      你检查manual了吗?

      SELECT * FROM table ORDER BY value1 DESC, value2 ASC
      

      【讨论】:

        【解决方案3】:

        您可以像这样在订单中多使用一列:

        SELECT * FROM table ORDER BY value1 DESC, value2 DESC
        

        【讨论】:

          【解决方案4】:

          试试这个:

          SELECT * FROM table ORDER BY value1 DESC, value2 ASC
          

          这里会发生数据从左到右的排序方式。 所以这将首先按 value1 降序排序,然后按 value2 升序排序

          -

          谢谢

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-06-03
            • 2016-08-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多