如何从MySql数据库中获取标题(表中的一行),以便标题按特定顺序排列
我有以下疑问如何从MySql数据库中获取标题(表中的一行),以便标题按特定顺序排列,mysql,Mysql,我有以下疑问 SELECT id,title,image,address,serviceType FROM `ta` ORDER BY title LIMIT 0,20 它根据标题的顺序给出结果 默认顺序将“标题”首先以特殊字符开头,然后是以数字开头的标题,然后是以字母开头的标题 但我想,首先是以数字开头的标题,然后是以字母开头的标题,然后是以特殊字符开头的标题 请提供帮助。您可以将案例陈述放在ORDERBY子句中。像这样的事情:- SELECT id, title, image, addr
SELECT id,title,image,address,serviceType FROM `ta` ORDER BY title LIMIT 0,20
它根据标题的顺序给出结果
默认顺序将“标题”首先以特殊字符开头,然后是以数字开头的标题,然后是以字母开头的标题
但我想,首先是以数字开头的标题,然后是以字母开头的标题,然后是以特殊字符开头的标题
请提供帮助。您可以将案例陈述放在ORDERBY子句中。像这样的事情:-
SELECT id, title, image, address, serviceType
FROM `ta`
ORDER BY CASE WHEN title LIKE '[0-9]%' THEN 1
WHEN title LIKE '[A-Z]%' THEN 2
ELSE 3 END
LIMIT 0,20
希望这有帮助。如何提问:
你好,我有一张这样的桌子:
CREATE TABLE strings
(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
,string VARCHAR(12) UNIQUE NOT NULL
);
INSERT INTO strings (string) VALUES
('apple'),
('banana'),
('cherry'),
('*durian'),
('1eggplant'),
('10fig'),
('grapefruit');
SELECT * FROM strings;
+----+------------+
| id | string |
+----+------------+
| 4 | *durian |
| 6 | 10fig |
| 5 | 1eggplant |
| 1 | apple |
| 2 | banana |
| 3 | cherry |
| 7 | grapefruit |
+----+------------+
我想要这样的结果集
[将所需输出放在此处]
。。。其中,行按x、y和z排列
我试过这个
[在这里尽最大努力]
。。。但这是不对的,因为它在以下方面是错误的…以字母开头没有意义。你是说从数字开始吗?对不起,编辑了我的问题。@Ankit Bajpai:1和2在这里是什么意思?1和2表示顺序。这意味着首先是数字,然后是字母等等。你能分享你得到的错误吗。我在MySQL数据库中得到了以下错误:代码1064-你的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第4行的“WHEN title LIKE”[A-Z]“然后2 END ELSE title END LIMIT 0,20”附近使用的正确语法