Php MySql按ID排序,但有例外

Php MySql按ID排序,但有例外,php,mysql,sql-order-by,Php,Mysql,Sql Order By,我有一个从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

我有一个从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) 
但是这个查询没有返回任何结果

如何解决?谢谢

编辑1

使用此选项:

SELECT * FROM question ORDER BY case when id = '7000' then 0 else 1 end 
结果是7000,6999,6998。。。没有提出新问题


但我想要7000、7100、7099、7098之类的东西

案例陈述是错误的,应该是

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

case
语句是错误的,应该是

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

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

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

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

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


为什么反对投票?。。。我喜欢这些人不加评论地投反对票…
Cocoa错误3840
不是由PHP或MySQL生成的错误。@TZHX ok谢谢。。我已经编辑了为什么否决投票?。。。我喜欢这些人不加评论地投反对票…
Cocoa错误3840
不是由PHP或MySQL生成的错误。@TZHX ok谢谢。。我已编辑,结束后我可以保留限制?是的,您可以在显示结果的
结束后添加限制,但不显示新问题,简而言之,此查询顺序都从该ID开始。。。但是我不想要这个。。我希望7000是第一个和第二个新问题,例如id为7100 7099 7098…是的,我希望7000是第一个,其余按降序正常检查VolkerK的答案,这应该可以完成。结束后我可以离开限制?是的,您可以在显示结果后添加限制,但没有显示新问题,简而言之,这个查询顺序都是从那个ID开始的。。。但是我不想要这个。。我希望7000是第一个和第二个新问题,例如id为7100 7099 7098…是的,我希望7000是第一个,其余按降序正常检查VolkerK的答案,这应该可以完成工作。将id ASC更改为id DESC我得到了所需的结果,谢谢伙计!!;)哎呀,是的
DESC
-使用我的测试表,检查升序更容易,而且我忘记在复制粘贴时更改它;-)用ID DESC更改ID ASC我得到了想要的结果,谢谢你!!;)哎呀,是的
DESC
-使用我的测试表,检查升序更容易,而且我忘记在复制粘贴时更改它;-)