我正在使用MySQL/MariaDB。我有一個查詢,我用ORDER BY user_id ASC
它給了我以下結果:訂購MySQL結果
+---------+
| user_id |
+---------+
| admin1 |
| admin10 |
| admin11 |
| admin2 |
| user1 |
| user10 |
| user11 |
| user12 |
| user13 |
| user2 |
| user20 |
| user21 |
| user22 |
| user23 |
+---------+
我嘗試了建議的解決方案ORDER BY LENGTH(user_id), user_id ASC
很大,只要是可以作爲所有user_id
的與user
開始。但是,如果我有user_id
的,與開始假設admin
然後它給了我這樣的:
+---------+
| user_id |
+---------+
| user1 |
| user2 |
| admin1 |
| admin2 |
| user10 |
| user11 |
| user12 |
| user13 |
| user20 |
| user21 |
| user22 |
| user23 |
| admin10 |
| admin11 |
+---------+
但我想結果命令是這樣的:
+---------+
| user_id |
+---------+
| admin1 |
| admin2 |
| admin10 |
| admin11 |
| user1 |
| user2 |
| user10 |
| user11 |
| user12 |
| user13 |
| user20 |
| user21 |
| user22 |
| user23 |
+---------+
我可以用SQL實現這一目標?
看看這個[問題](https://stackoverflow.com/questions/8557172/mysql-order-by-sorting-alphanumeric-correctly) –