读书人

查询数据排序有关问题amp;#183;amp;#183;amp;#1

发布时间: 2012-08-03 00:12:14 作者: rapoo

查询数据排序问题··············
比如说我要查询:
select * from batch_trx o where o.bat_id in ('HB11BAGBBB','HB11BAGBBA','HB115AEBAA','HB10HA2DCB')
查询结果为:
HB10HA2DCB
HB115AEBAA
HB11BAGBBA
HB11BAGBBB

如何才能将查询结果以查询前的数据排序出来,不要在输出结果时自动替我排序

我希望的排序结果为:
HB11BAGBBB
HB11BAGBBA
HB115AEBAA
HB10HA2DCB

求助高手帮忙解决下··············

[解决办法]

SQL code
select * from batch_trx o where o.bat_id in ('HB11BAGBBB','HB11BAGBBA','HB115AEBAA','HB10HA2DCB')order by  charindex(o.bat_id,'HB11BAGBBB','HB11BAGBBA','HB115AEBAA','HB10HA2DCB')
[解决办法]
SQL code
--> 测试数据:[test]if object_id('[test]') is not null drop table [test]create table [test](id varchar(10))insert [test]select 'HB10HA2DCB' union allselect 'HB115AEBAA' union allselect 'HB11BAGBBA' union allselect 'HB11BAGBBB'select * from test order by id desc/*idHB11BAGBBBHB11BAGBBAHB115AEBAAHB10HA2DCB*/--这么不行么?
[解决办法]
SQL code
select * from batch_trx o where o.bat_id in ('HB11BAGBBB','HB11BAGBBA','HB115AEBAA','HB10HA2DCB')ORDER BY GETDATE() 

读书人网 >SQL Server

热点推荐