示例表:
id | val1 | val2
1 | 100| 50
2 | 90| 50
3 | 80| 50
4 | 70| 50
5 | 60| 91
6 | 50| 92
7 | 40| 93
8 | 30| 94
预期结果:
id | val1 | val2
1 | 100| 50
8 | 30| 94
7 | 40| 93
6 | 50| 92
5 | 60| 91
2 | 90| 50
3 | 80| 50
4 | 70| 50
我正在尝试在某种合并列上对表进行排序,而不是实际合并列。当我尝试使用select * from exampletable order by val1 desc, val2 desc
之类的内容时,val1
会根据val2
进行排序,val1
时只有id
。
我希望它做的是通过两列的组合排序,但不要重复{{1}}列。
答案 0 :(得分:1)
这听起来像早期的编程问题。如果我理解了你的意思,你就想要按两列中最大的一列排序。因此,试试这个:
SELECT *
FROM example
ORDER BY
CASE
WHEN val1 > val2 THEN val1
ELSE val2
END