我正在为飙车比赛制作现场比分。 我在数据库中有表
id time
k2 16,010
k4 15,11
k25 15,819
k26 15,114
z27 19,696
我需要通过 id
以相反的顺序获取该表。
例如,如果选择 SELECT id FROM online order by id desc
,结果将被排序为 string
。
id
k9
k8
k7
k6
k5
k4
k3
k17
k16
k15
k14
我需要 17-14-9-4
更新。 感谢所有! 这个有帮助
SELECT CAST( replace( id, 'k', '' ) AS SIGNED ) AS sort
FROM online
ORDER BY `sort` DESC
最佳答案
将字段分成两部分,一个带有“k”,另一个带有数字。
或者,不太可取的是,如果您使用 PHP,则可以使用 nat_sort()
方法,或者可能使用 strnatcmp() 的
用于比较此特定字段的函数。usort()
关于php - MySQL。按字符串 ID 进行数字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5782672/