我有一个带有 double 的PostgreSQL表,它们存储百分比。因此,假设列为pc_1pc_2

我想要的是按这两列中的哪一列降序排列最高,然后按另一列,再降序排列。

因此,如果我们的数据如下:

id  pc_1  pc_2
 1  12.5  11.0
 2  10.0  13.2
 3  13.2  9.0

select * from mytable order by <something>

将给出:
 2  10.0  13.2
 3  13.2  9.0
 1  12.5  11.0

最佳答案

SELECT  *
FROM    mytable
ORDER BY
        GREATEST(pc_1, pc_2) DESC, LEAST(pc_1, pc_2) DESC

关于SQL按两列的最大值排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10953138/

10-17 00:43