100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > SQL自定义排序规则

SQL自定义排序规则

时间:2022-11-27 19:45:07

相关推荐

SQL自定义排序规则

SQL自定义排序规则

原数据

结果顺序数据显示

Apply:提交请求

Review:等待回复

Finish:任务完成

按日期和状态排序,先状态为:提交请求(Apply)—按时间倒序,然后状态为:等待回复(Review)—按时间倒序,然后状态为:任务完成(Finish)—按时间倒序。

建表语句

DROP TABLE IF EXISTS `customsort`;CREATE TABLE `customsort` ( `status` VARCHAR ( 255 ), `date1` date );INSERT INTO `customsort` VALUES ('Review', '-01-11');INSERT INTO `customsort` VALUES ('Apply', '-01-11');INSERT INTO `customsort` VALUES ('Review', '-01-01');INSERT INTO `customsort` VALUES ('Finish', '-01-14');INSERT INTO `customsort` VALUES ('Apply', '-01-01');INSERT INTO `customsort` VALUES ('Review', '-01-05');

使用case when 条件 then 结果 ........ end

SELECT STATUS,date1,( CASE WHEN STATUS = 'Apply' THEN 0 WHEN STATUS = 'Review' THEN 1 WHEN STATUS = 'Finish' THEN 2 ELSE 3 END ) type FROMcustomsort

status赋值有排序大小的type

自定义排序SQL

SELECT STATUS,date1 FROMcustomsort WHERESTATUS IN ( 'Apply', 'Review', 'Finish' ) ORDER BY( CASE WHEN STATUS = 'Apply' THEN 0 WHEN STATUS = 'Review' THEN 1 WHEN STATUS = 'Finish' THEN 3 ELSE 4 END ),date1 DESC;

有不足,请在评论处提出!!!!!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。