在 SQL 中,我使用过
...ORDER BY name DESC NULLS LAST
效果非常棒,但是有什么方法可以将特定值设置为最后?例如空字符串 (@EMPTY)。
...ORDER BY name DESC (@EMPTY) LAST
我根据用户对表的选择动态构建 SQL,当用户更改排序顺序时,我会更改 SQL 中的排序顺序。此外,用户可以选择要排序的列。我排序的列将是类型
text
或输入 int
.我不需要任何花哨的ORDER BY
当column
是类型 int
,但我确实需要强制所有值 ""
到最后ORDER BY
当type
的column
是 text
.谢谢!
最佳答案
您可以使用 case
作为排序顺序中的第一个元素:
order by
case when name = '' then 1 else 0 end
, name desc
关于sql - SQL : Force a value to be last in the order 中的按最后排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28997035/