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,所以就被排在了前面。

你可能感兴趣的:(Mysql orderby把指定的数据行排在前面)