我正在尝试使用ORDER BY对查询进行排序,我需要逐个排序3列。第三列是特定值。
例如:如果我有3列a,b和c 我需要使用ORDER BY a,b desc,c ='3'asc,c
我想要做的是首先排序顺序是a,然后b按顺序排列然后我希望其中的值有3个被排序,然后剩下的值不是3。
答案 0 :(得分:9)
ORDER BY
a,
b desc,
CASE WHEN c = 3 THEN 0 ELSE 1 END,
c
答案 1 :(得分:1)
假设SQL Server,请尝试使用CASE:
ORDER BY a, b desc, CASE c WHEN '3' THEN 0 ELSE 1 END, c ASC
答案 2 :(得分:0)
ORDER BY
a,
b desc,
CASE c when 3 then 1 else 0 end