按特定值排序 - ORDER BY

时间:2010-11-09 20:46:10

标签: sql

我正在尝试使用ORDER BY对查询进行排序,我需要逐个排序3列。第三列是特定值。

例如:如果我有3列a,b和c 我需要使用ORDER BY a,b desc,c ='3'asc,c

我想要做的是首先排序顺序是a,然后b按顺序排列然后我希望其中的值有3个被排序,然后剩下的值不是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