如何对具有多列的表进行排序,其中排序按第一列按字母顺序排列,但第二列中具有空值或零的所有字母条目最后显示。
排序前 表“用户”
username monies zip
jim 25 87888
allan 12 34333
adrian 0 97677
abel null 87888
will 4 88788
排序后 表“用户”
username monies zip
allan 12 34333
jim 25 87888
will 4 88788
abel null 87888
adrian 0 97677
我尝试了这个,但它不起作用
SELECT
*
FROM
"user"
ORDER BY
name ASC,
monies nulls last
答案 0 :(得分:2)
首先对0
或null
进行排序,然后按用户名进行字母排序
order by case when monies = 0 or monies is null then 1 else 0 end, username