1

我有这个查询,它将按可以排序的 ID 显示表的内容,但是我有一个我总是希望在最后一部分显示的数据,由于某些情况我不能简单地将其排序 ID 更改为最后一个数字的那个。

示例表将是:

sort_id | data |
0       | dog  |
1       | cat  |
2       | bear |
3       | wolf |

我希望它显示如下: dog,cat,wolf,bear 其中 bear 是应该始终显示在最后的常量值。

这可能吗?

4

3 回答 3

6

按案例陈述的顺序将起作用

Select *
FROM 
  table1 
ORDER BY
  case when data = 'bear' then 1 else 0 End,
  sort_id

演示

于 2013-04-29T20:28:29.080 回答
3

SELECT * FROM table1 ORDER BY data='bear',sort_id

于 2013-04-29T20:28:10.007 回答
1

类似于以下内容

SELECT data
FROM table
ORDER BY 
CASE WHEN data = 'bear' THEN 1 ELSE 0 END,
sort_id

"bear"sort_id.

于 2013-04-29T20:29:30.880 回答