日期:2014-05-19  浏览次数:20839 次

sql排序问题。求大牛。
如题,一个表table,存了三个字段
id name code 
1 xie 11-1
2 xi 11-2
………………
………………
100 ji 11-101
……………………
………………
109 j 11-109
110 xu 11-110
………………
n ask 12-123
请问如何按照上面的方式排序
我的sql :select * from table order by code,得到结果(id和name我省略不写了)是
id name code
  11-1
  11-100
  11-101
……………………
  11-2
  11-200
很明显结果不是我想要。求解哈
PS下,本人DB2数据库。

------解决方案--------------------
数据库没办法支持这么复杂的排序,自己写java代码实现,或者加排序用的字段
------解决方案--------------------
看你的数据库 大致数据 你这么排和根据id排序有区别么?
------解决方案--------------------
探讨

引用:

看你的数据库 大致数据 你这么排和根据id排序有区别么?
我的code是字符,不是数字

------解决方案--------------------
你的code字段可以分成两部分,“11-109”,11和109,你增加两个字段,分别存储11和109,排序时,先按照11的字段排序,再按照109的字段排序

------解决方案--------------------
探讨
ID在增删修改之后就变乱了

------解决方案--------------------
没有大家想想的那么难吧,只是处理很麻烦而已。