SQL查询,其中一个项始终位于最后

时间:2013-04-29 20:23:19

标签: mysql sql mysqli

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

示例表将是:

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

我希望这显示如下:狗,猫,狼,熊,其中熊是应该始终显示的常数值。

这可能吗?

3 个答案:

答案 0 :(得分:6)

通过案例陈述的命令将起作用

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

DEMO

答案 1 :(得分:3)

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

答案 2 :(得分:1)

如下所示

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

在排序"bear"之前,我们需要引入排序数据是否为sort_id的概念。