我有一个查询,我根据用户输入动态更改排序顺序。我想在最后显示空白的比赛。这种方式是否可行,相对无痛,无需为排序请求的每种可能性创建单独的查询?
答案 0 :(得分:3)
您可以在ORDER BY
列表中添加其他项目。如果您的列名称为user_input
,例如您有。
ORDER BY CASE WHEN user_input = '' THEN 1 ELSE 0 END, user_input
这会先输入一个值,然后按字母顺序排序,然后将所有空白值放在最后。
注意:如果您使用NULL
值而不是空格,则必须考虑使用isNull()