数据库记录按指定顺序排序

假设有一张数据库表 : T_USER

字段如下     id    ----------    number
                 name ---------     varchar(20)

id                     name

101                   张三
102                  李四
103                  王五

现要求记录顺序为指定的        103      1001      1002             SQL语句如下

第一种 :   select id,name from (select case id when 1003 then 1 when 1001 then 2 when 1002 then 3 end as seq,id,name from t_user) order by seq;

第二种 :   select id,name from t_user order by case id when 1003 then 1 when 1001 then 2 when 1002 then 3 end;

以上两个写法是等效的,在ORACLE 10G数据库中通过;

核心思想为在排序时使用那种指定的序列进行排序.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值