Php MySql按ID排序,但有例外
我有一个从mysql数据库加载一些结果的应用程序。我正在使用以下查询与php进行连接: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
$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
-使用我的测试表,检查升序更容易,而且我忘记在复制粘贴时更改它;-)