如何正确排序用户名?
例如我做这个查询:
SELECT * FROM `members` WHERE username LIKE 'bx%' ORDER BY username ASC
结果:
bx1
bx10
bx11
bx12
bx13
bx14
bx15
bx16
bx17
bx18
bx19
bx2
bx20
bx21
bx3
bx4
bx5
我想这样返回:
bx1
bx2
bx3
bx4
bx5
...
bx15
bx16
等等
最佳答案
SELECT *
FROM `members`
WHERE username LIKE 'bx%'
ORDER BY LENGTH(username), username
您需要这样做的事实告诉我您的架构已非规范化。如果可能,如果您需要对其进行操作,请将用户名的整数部分存储在单独的列中。
关于mysql - 排序用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11612925/