我有一张桌子:
nb |标签60 |从2开始减少25 |从3到1615 |从17到100我尝试降序,所以我使用查询:
按标签desc从表顺序中选择*; …
要快速修复,只需将其更改为:
...from 03 to 16' }, { nb: 60, label: 'from 02 and less' }, { nb: 15, label: 'from 17 to 100' } ]
或额外的空间而不是零:
...from 3 to 16' }, { nb: 60, label: 'from 2 and less' }, { nb: 15, label: 'from 17 to 100' } ]
两者都应该按照你想要的方式排序。
这是一种痛苦。最简单的是,如果您有另一个具有相同排序的列。但假设第二个单词是一个不以0开头且第一个单词是“from”的整数:
order by patindex('%[0-9] %', label) desc, left(label, patindex('%[0-9] %', label)) desc
这基本上可以找到第一个数字的长度,并将其用于第一个数字的长度 order by 。然后按第一个数字排序。
order by