MySql 按 ID 排序,但有例外

MySql ORDER BY ID , but with exception

我有一个应用程序可以从 mysql 数据库加载一些结果。我正在使用以下查询与 php 建立联系:

$query = mysql_query("SELECT * FROM question ORDER BY id DESC LIMIT ".$intLimit)

这没关系。

现在我想要相同的查询,但例如我希望 id = 7000 的对象保持在顶部。

我试过了:

$query = mysql_query("SELECT * FROM question ORDER BY id WHEN id = '7000' then 0 else 1 LIMIT ".$intLimit) 

但是这个查询return什么都没有。

怎么解决的?谢谢

编辑 1

使用这个:

SELECT * FROM question ORDER BY case when id = '7000' then 0 else 1 end 

结果是7000,6999,6998...没有显示新题

但我想要 7000、7100、7099、7098...

case 的说法是错误的,应该是

SELECT * FROM question 
ORDER BY case when id = '7000' then 0 else 1 end 
SELECT *, CASE WHEN id = '7000' then 0 else 1 END as Y FROM question ORDER BY Y

您甚至可以跳过 WHEN 结构,只需将主要排序标准声明为 ID=7000 DESC,将次要排序标准声明为 ID

SELECT ... ORDER BY ID=7000 DESC, ID DESC LIMIT ...