我在postgresql中排序时遇到问题。必须根据第一列按降序对信息进行排序,但如果出现平局,则必须根据第二列按升序对信息进行排序。
我该如何做到这一点?
答案 0 :(得分:13)
SELECT ... ORDER BY col1 DESC, col2 ASC
答案 1 :(得分:9)
select *
from t
order by c1 desc, c2 asc
答案 2 :(得分:8)
当然。
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的含义不同。
重点,我自己。