我有这样的条件查询:
- 如果列(顺序)不为 0,则按值 1 到 99999(最大值)排序
- 我需要按姓氏顺序排列所有 0。
所以如果我有一张这样的桌子
ID Order Last Name
1 0 Manner
2 1 Brock
3 0 Lester
4 0 Annual
5 0 Greatly
我期望的结果是:
Brock
Annual
Greatly
Lester
Manner
这是我的查询。每次发生的事情是我得到姓氏排序,而不是非顺序 0 首先出现:
select c.last_name
from person_reports crt
join person c
where c.org_id = 1000 and crt.reports_to_id = 100389 and c.id = crt.contact_id
order by c.last_name, case preference_num when 0 then 9999999 else preference_num end
我目前的工作成果:
Annual
Brock
Greatly
Lester
Manner
谢谢你的帮助