2014-06-13 21 views
0

我怎麼能自然排序在MySQL?我遵循表格:我如何自然排序在MySQL?我有跟着表:

CREATE TABLE sortnum 
    (`name` varchar(255)) 
; 

INSERT INTO sortnum 
    (`name`) 
VALUES 
    ('atul'), 
    ('test-2~'), 
    ('Room 1'), 
    ('Room 11'), 
    ('Room 2'), 
    ('Room 3'), 
    ('Room 4'), 
    ('Room 1025'), 
    ('Room 120'), 
    ('Room 998'), 
    ('[email protected]#$%^&*()_+{}:"<>?/.,;][') 
; 

如果任何人都可以有解決方案,因爲它需要實施,這將是非常好的。

回答

0

你可以得到你的答案這樣...享受

SELECT name, 
CONVERT(REPLACE(name, SUBSTRING_INDEX(name, REVERSE(CONVERT(REVERSE(name), SIGNED)), 1), ''),SIGNED) as t, 
SUBSTRING_INDEX(name, REVERSE(CONVERT(REVERSE(name), SIGNED)), 1) AS d 
FROM sortnum 
ORDER BY d, t ASC;