使用CASE语句进行自定义排序
SELECT column_name(s) FROM table_name ORDER BY CASE column_name WHEN 'value1' THEN ... WHEN 'value2' THEN ... ELSE ... END;
使用FIELD函数进行自定义排序
SELECT column_name(s) FROM table_name ORDER BY FIELD(column_name, value1, value2, ...)
mybatis-plus中querywrapper使用
//设置是否置顶、截至日期优先展示
queryWrapper.orderByDesc("is_top", "deadline");
//设置任务未完成的优先展示,FIELD是数据库函数
queryWrapper.orderByAsc(" FIELD(state,'unfinish','finish') ");