美文网首页
mysql自定义排序

mysql自定义排序

作者: 陈灬大灬海 | 来源:发表于2020-01-18 14:39 被阅读0次

场景

业务需要,优惠券列表要求按类型进行排序,但是,类型并不是顺序的,即order by是解决不了问题的

建表

CREATE TABLE `custom_sort`  (
  `id` int(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_german2_ci NOT NULL,
  `type` tinyint(1) NOT NULL,
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `so`(`type`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_german2_ci ROW_FORMAT = Dynamic;

插入数据

INSERT INTO `custom_sort` VALUES (1, '刘一', 1);
INSERT INTO `custom_sort` VALUES (2, '陈二', 2);
INSERT INTO `custom_sort` VALUES (3, '张三', 3);
INSERT INTO `custom_sort` VALUES (4, '李四', 2);
INSERT INTO `custom_sort` VALUES (5, '王五', 5);
INSERT INTO `custom_sort` VALUES (6, '赵六', 0);
INSERT INTO `custom_sort` VALUES (7, '孙七', 7);

表结构数据

image

解决方案

field函数

SELECT * FROM `custom_sort` ORDER BY FIELd(type,1,3) desc,type

case when then

SELECT * FROM `custom_sort` ORDER BY CASE WHEN type= 3 THEN 0 WHEN type= 1 THEN 1 else 2 END ,type asc

查询结果

image

相关文章

  • sql 添加自定义排序

    sql 添加自定义排序 Mysql : SELECT (@i:=@i+1) AS ind ,字段 FROM 表名 ...

  • MySQL 根据自定义规则排序

    MySQL 中可以使用 ORDER BY FIELD('column', 1,2,3...) 的语法来自定义排序方...

  • mysql自定义排序

    大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例, 下同):SELECT * FROM...

  • mysql自定义排序

    场景 业务需要,优惠券列表要求按类型进行排序,但是,类型并不是顺序的,即order by是解决不了问题的 建表 插...

  • MySql 自定义排序

    1.自定义排序语法: str: 字段名,str1,str2,str3: 自定义排序的数值 2. 自定义排序-全...

  • 13、排序和筛选

    1、排序和自定义排序 数值排序: 点击需要排序的一列一个格子,排序 自定义排序,比如:添加关键...

  • [Mysql教程系列] order by 多字段排序

    mysql单个字段降序排序: mysql单个字段升序排序: mysql多个字段排序: 多字字段排序只需要添加多个排...

  • 学习office——Excel 排序与筛选

    一、排序 1、多条件排序使用自定义排序 2、按颜色排序 使用自定义排序 3、工资条 复制表头——下拉复制更多表头—...

  • Objective-C基础学习之NSArray排序

    Foundation自带类排序 自定义类排序

  • mysql自定义排序规则

    遇到个这样的需求,前台一个列表数据,有个枚举值platform,里面有如下图所示4个值,db里面分别是0,1,2,...

网友评论

      本文标题:mysql自定义排序

      本文链接:https://www.haomeiwen.com/subject/gnvkzctx.html