Mysql orderby把指定的数据行排在前面

如果只是一条数据行,可以这样:

SELECT * FROM user ORDER BY user_id<>7,score DESC;

主要是“user_id<>7”,就会把用户id为7的排在前面。

如果是多条数据行:

SELECT * FROM user ORDER BY user_id NOT IN(7,8,9),score DESC;
原理: order by 先以布尔计算的结果进行排序,默认是asc,当user_id是7时,user_id<>7是0,所以就被排在了前面。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。