如何排序数据而不是按字典顺序排列这些数据?mysql与数字排序varchar
100_10A
100_10B
100_10C
100_11A
100_11B
100_11C
100_12A
100_12B
100_12C
100_13A
100_13B
100_13C
100_14A
100_14B
100_14C
100_15A
100_15B
100_15C
100_16A
100_16B
100_16C
100_1A
100_1B
100_1C
100_2A
100_2B
100_2C
100_3A
100_3B
100_3C
100_4A
100_4B
100_4C
100_5A
100_5B
100_5C
100_6A
100_6B
100_6C
100_7A
100_7B
100_7C
100_8A
100_8B
100_8C
100_9A
100_9B
100_9C
select generalcolum from mytable order by blockid, plotid ASC
我需要出这种顺序是
100_1A
100_1B
100_1C...
...
...
100_10A
100_10B
100_10C
我需要以某种方式做的是增加了一个零的那种情况,这样,我可以让他们在订货之前我想要。
有两个colums,一个存储100(下划线之前的数字)和一个存储下划线之后的值1A。
我须藤废话选择
select thiscolum this table
order by blockid, plotid(+1 zero to prefix if len(plotid) < 2)
例如,如果情节值是1A,做最好的排序,我需要它被看作是01A,这样说到10A之前。
在写一个问题时,请考虑一下如何在首页显示前两行时出现问题。把最重要的事情放在第一位。在你的问题中包括一些测试数据是好的,但把它放在最后。 – 2010-12-13 21:04:45
什么是前缀“100_”?它会改变吗? – Flinsch 2010-12-13 21:05:03
前缀100可以改变记录,同样它可能包含99的值。在那里我也想用前导零作为它的前缀,如果它的长度不是3的话。 – 2010-12-13 21:12:16