I'm using MySQL/MariaDB. I have an query where I use ORDER BY user_id ASC
it gives me the following result:
+---------+
| user_id |
+---------+
| admin1 |
| admin10 |
| admin11 |
| admin2 |
| user1 |
| user10 |
| user11 |
| user12 |
| user13 |
| user2 |
| user20 |
| user21 |
| user22 |
| user23 |
+---------+
I tried the suggested solution ORDER BY LENGTH(user_id), user_id ASC
that works great as long as all user_id
's starts with user
. But if I have user_id
's that start with let's say admin
then it gives me this:
+---------+
| user_id |
+---------+
| user1 |
| user2 |
| admin1 |
| admin2 |
| user10 |
| user11 |
| user12 |
| user13 |
| user20 |
| user21 |
| user22 |
| user23 |
| admin10 |
| admin11 |
+---------+
But I would like the result to order like this:
+---------+
| user_id |
+---------+
| admin1 |
| admin2 |
| admin10 |
| admin11 |
| user1 |
| user2 |
| user10 |
| user11 |
| user12 |
| user13 |
| user20 |
| user21 |
| user22 |
| user23 |
+---------+
Can I achieve this with SQL?