【问题标题】:Sorting in postgresql with different criteria to each column in case of tie在 tie 的情况下,在 postgresql 中对每列使用不同的标准进行排序
【发布时间】:2013-04-06 23:08:54
【问题描述】:

我在 postgresql 中排序时遇到问题。信息必须按照第一列降序排序,但如果出现平局,信息必须按照第二列升序排序。

我怎样才能做到这一点?

【问题讨论】:

    标签: postgresql sorting


    【解决方案1】:

    SELECT ... ORDER BY col1 DESC, col2 ASC

    【讨论】:

      【解决方案2】:
      select *
      from t
      order by c1 desc, c2 asc
      

      【讨论】:

      • 我以前试过这个,但它不能正常工作。排序顺序始终是第一列的标准。我不知道为什么。
      • @user22 是第一个。如果有平局,那么第二个。我不明白你的意思。
      • 帮助很大。谢谢。
      【解决方案3】:

      当然。

      http://www.postgresql.org/docs/9.2/static/sql-select.html#SQL-ORDERBY

      ORDER BY 子句使结果行根据指定的表达式进行排序。 如果两行根据最左边的表达式相等,则根据下一个表达式进行比较,依此类推。

      以后

      可以选择在 ORDER BY 子句中的任何表达式之后添加关键字 ASC(升序)或 DESC(降序)

      还有一个:

      请注意,排序选项仅适用于它们所遵循的表达式;例如 ORDER BY x, y DESC 与 ORDER BY x DESC, y DESC 的含义不同。

      强调,我自己的。

      【讨论】:

        猜你喜欢
        • 2017-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-07
        • 1970-01-01
        • 2017-04-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多