21

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

我怎样才能做到这一点?

4

3 回答 3

31

SELECT ... ORDER BY col1 DESC, col2 ASC

于 2013-04-14T22:26:45.260 回答
17
select *
from t
order by c1 desc, c2 asc
于 2013-04-14T22:27:09.863 回答
11

当然。

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 的含义不同。

强调,我自己的。

于 2013-04-14T22:22:29.187 回答