mysql 预留一个自定义字段_MySQL ORDER BY具有自定义字段值

在MySQL中,可以使用FIND_IN_SET()函数来预留一个自定义字段进行排序。通过创建一个名为DemoTable677的表并插入不同状态的记录,然后在查询时根据指定的字段值顺序进行排序,例如'BLOCKED,AT WORK,OFFLINE,BUSY',即可实现自定义排序效果。" 118642839,9768529,datagrip连接Hive与Spark-SQL实践,"['Hive连接', 'Spark开发', '数据查询', '大数据工具', 'YARN配置']
摘要由CSDN通过智能技术生成

要设置自定义字段值,请使用FIND_IN_SET()。让我们首先创建一个表-mysql> create table DemoTable677(

UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,

UserStatus text

);

使用插入命令在表中插入一些记录-mysql> insert into DemoTable677(UserStatus) values('BUSY');

mysql> insert into DemoTable677(UserStatus) values('AT WORK');

mysql> insert into DemoTable677(UserStatus) values('OFFLINE');

mysql> insert into DemoTable677(UserStatus) values('BLOCKED');

使用select语句显示表中的所有记录-mysql> select *from DemoTable677;

这将产生以下输出-+--------+------------+

| UserId | UserStatus |

+--------+------------+

|      1 | BUSY       |

|      2 | AT WORK    |

|      3 | OFFLINE    |

|      4 | BLOCKED    |

+--------+------------+

4 rows in set (0.00 sec)

以下是使用自定义字段值对ORDER BY的查询-mysql> select *from DemoTable677 ORDER BY FIND_IN_SET(UserStatus, 'BLOCKED,AT WORK,OFFLINE,BUSY');

这将产生以下输出-+--------+------------+

| UserId | UserStatus |

+--------+------------+

|      4 | BLOCKED    |

|      2 | AT WORK    |

|      3 | OFFLINE    |

|      1 | BUSY       |

+--------+------------+

4 rows in set (0.03 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值