当前位置: 旋风说(旋风PHPer分享网)> 技术文章> 正文
假设有这么一张表,名字叫user,里面有三个列,id,uid,title,我需要写一个排序,uid为5的排在第一位,uid为7的排在第二位,uid为2的排在第三位,那么sql语句怎么写呢?我试了一下,如下:
SELECT * FROM `user` order by ( case when uid=5 then 1 when uid=7 then 2 when uid=2 then 3 else 4 end ),uid asc;
具体如上,其中上面的then 1 表示排在第一位,then 2 表示排在第二位, then 3 表示排在第三位,else 4表示uid不是5不是7不是2的排在第四位,而且第四位是根据uid进行asc的。
如果您只需要排其中一个优先,比如uid为6的第一位,其他用户正常排序,那么代码如下:
SELECT * FROM `user` order by ( case when uid=5 then 1 else 3 end ),uid asc;
当您发现内容错误或代码bug,以及下载链接无法使用等,请点击屏幕右下角的上报错误来进行提交,我们会尽快修正。
本程序所有源码和工具完全免费,当本网站内容如果侵犯了您的权益,请联系我们,我们会尽快处理,感谢您的合作。
相关文章
评论:
文明上网理性发言,请遵守 新闻评论服务协议