SQL排序!!!太怪异了!!
module44
module4
module33
module3
module23
module2
module1
可是小弟想以他们降序排列阿!!怎么办啊??
这是module_id字段。大虾们帮帮小弟!!!
------解决方案--------------------select module_id from table order by module_id desc
不可以吗?
------解决方案--------------------CREATE TABLE test1 (id NUMBER, module_id VARCHAR2(10))
INSERT INTO test1(id,module_id) VALUES(1, 'module44 ')
INSERT INTO test1(id,module_id) VALUES(2, 'module4 ')
INSERT INTO test1(id,module_id) VALUES(3, 'module33 ')
INSERT INTO test1(id,module_id) VALUES(4, 'module3 ')
INSERT INTO test1(id,module_id) VALUES(5, 'module23 ')
INSERT INTO test1(id,module_id) VALUES(6, 'module2 ')
INSERT INTO test1(id,module_id) VALUES(7, 'module1 ')
SELECT * FROM test1 ORDER BY LPAD(SUBSTR(module_id,7),7, '0 ' ) DESC
------解决方案-------------------- select module_id from table order by to_number(substr(module_id,7)) desc
------解决方案--------------------看你module_id字段是什么类型的
如果是varchar,直接排序就可以了
select * from table order by module_id desc
我已测试
测试数据如下:
create table test(
A varchar(20),
B varchar(20)
)
insert into test
select 1, '2 ' from dual union
select 2, '3 ' from dual union
select 3, 'module23 ' from dual union
select 4, 'module3 ' from dual union
select 5, 'module232 ' from dual union
select 6, 'module3 ' from dual