gpt4 book ai didi

mysql - 自定义排序 SQL

转载 作者:行者123 更新时间:2023-11-29 07:25:28 25 4
gpt4 key购买 nike

我想在很多地方按照 1, 1a, 1b, 2, 2a, 2b, ... 的顺序订购东西。我正在考虑以下选项:

1:使用枚举字段表示 1、1a、1b、2、2a、2b...,这样可以很好地排序。在不同的地方定义这样的枚举的缺点。

2:创建一个包含两个字段的额外表。一个字符串字段,其值为 1, 1a, 1b, 2, 2a, 2b, ... 以及一个订单索引,并在需要排序的任何地方与该表并集。缺点是工会很多。

您会建议哪些选择,或者您是否考虑其他选择?

谢谢

最佳答案

DROP TABLE IF EXISTS my_table;

CREATE TABLE my_table
(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,string VARCHAR(12) NOT NULL);

INSERT INTO my_table (string) VALUES ('2b'),('1'),('2a'),('1b'),('1a'),('11');

SELECT * FROM my_table;
+----+--------+
| id | string |
+----+--------+
| 1 | 2b |
| 2 | 1 |
| 3 | 2a |
| 4 | 1b |
| 5 | 1a |
| 6 | 11 |
+----+--------+

SELECT * FROM my_table ORDER BY string + 0,string;
+----+--------+
| id | string |
+----+--------+
| 2 | 1 |
| 5 | 1a |
| 4 | 1b |
| 3 | 2a |
| 1 | 2b |
| 6 | 11 |
+----+--------+

关于mysql - 自定义排序 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34722982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com