Wil*_*son 2 php mysql codeigniter natural-sort
我的数据库中的表中有以下类型的标题:
Topic 1 blah blah
Topic 2 blah blah
Topic 3 blah blah
...
Topic 10 blah blah
Topic 11 blah blah
etc...
Run Code Online (Sandbox Code Playgroud)
select查询将始终返回如下结果:
Topic 1 blah
Topic 10 blah blah
Topic 11 blah
Run Code Online (Sandbox Code Playgroud)
...遗漏主题2,主题3等...直到所有的青少年后我将获得主题2等...
我怎样才能得到我的结果:
Topic 1
Topic 2
Topic 3
Run Code Online (Sandbox Code Playgroud)
....一直到主题9,然后才有主题10?
这是数据库设计的问题.主题编号应存储为整数.如果您无法更改设计,请尝试此查询:
SELECT title
FROM table1
ORDER BY CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(title, ' ', 2), ' ', -1)
AS UNSIGNED);
Run Code Online (Sandbox Code Playgroud)
结果:
'主题1 foo' '主题2吧' '主题10巴兹'
测试数据:
DROP TABLE IF EXISTS table1;
CREATE TABLE table1 (title VARCHAR(100) NOT NULL);
INSERT INTO table1 (title) VALUES
('topic 1 foo'),
('topic 2 bar'),
('topic 10 baz');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1907 次 |
| 最近记录: |