我的清单是这样的
ID | 价值 | 日期 |
---|---|---|
1 | 无效的 | 2020年 |
2 | 0 | 2022年 |
3 | 1 | 2021年 |
4 | 1 | 2023年 |
5 | 100 | 2024年 |
2 | 250 | 2018年 |
我想按列 [Value] 排序,以便将其放在最后
结果应该如下
ID | 价值 | 日期 |
---|---|---|
1 | 无效的 | 2020年 |
2 | 0 | 2022年 |
5 | 100 | 2024年 |
2 | 250 | 2018年 |
4 | 1 | 2023年 |
3 | 1 | 2021年 |
我尝试
SELECT * FROM TABLE ORDER BY [Value] ASC , [Date] DESC
我定义了一个名为 [Ones] 的列,并将 1 排序到表的末尾,问题就解决了
如果您可以指定任意值(例如9999),该值将大于列中的任何其他值,则可以在ORDER BY子句本身中使用CASE ,而无需使用其他列。