猿问

MySQL按特定ID值排序

是否可以使用预定义的一组列值(ID)按“ order by”在mysql中排序,例如:order by(ID = 1,5,4,3),因此我会在其中得到记录1、5、4、3订购吗?

更新:关于滥用mysql ;-)我必须解释为什么我需要这个...

我希望记录每5分钟随机更改一次。我有一个cron任务来执行更新表,以在其中放置不同的随机排序顺序。只有一个问题!分页。我将有一位访问者来到我的页面,我给他前20个结果。他将等待6分钟,然后转到第2页,并且由于排序顺序已经更改,因此他将得到错误的结果。

所以我认为,如果他来到我的网站,我会将所有ID都放在一个会话中,而当他进入第2页时,即使排序已经改变,他也会得到正确的记录。

还有其他更好的方法吗?


紫衣仙女
浏览 907回答 3
3回答

泛舟湖上清波郎朗

您应该可以使用CASE此功能:ORDER BY CASE id  WHEN 1 THEN 1  WHEN 5 THEN 2  WHEN 4 THEN 3  WHEN 3 THEN 4  ELSE 5END
随时随地看视频慕课网APP

相关分类

MySQL
我要回答