例如,我有一个名为column1,date为column2的表。我想查询特定名称将在哪里,日期将按降序排序。
|names|dates|
|a |2016 |
|b |2013 |
|c |2017 |
|d |2011 |
我想显示一个表格,其中b和c将位于顶部,但是日期列将按照desc顺序排序,其余的名称将显示为日期列的排序。它有两个组,其中值b和c的日期已排序,其余组按其他排序日期排序。例如
|names|dates|
|b |2017 |
|c |2013 |
|a |2016 |
|d |2011 |
我应该使用什么SQL查询?
答案 0 :(得分:2)
如果您希望所有b
和c
按日期排序,请暂停,请尝试以下操作:
ORDER BY (CASE WHEN names = 'b' or names = 'c' THEN '1' else '2' END) ASC, dates desc
<强>样本强>
如果您希望所有b
都在最顶层,那么所有c
都会休息,请尝试以下操作:
ORDER BY (CASE WHEN names = 'b' THEN '1'
WHEN names = 'c' THEN '2' else '3' END) ASC, dates desc
<强>样本强>