Chinaunix首页 | 论坛 | 博客
  • 博客访问: 141088
  • 博文数量: 161
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -30
  • 用 户 组: 普通用户
  • 注册时间: 2017-09-21 21:45
文章分类
文章存档

2009年(1)

2008年(74)

2007年(48)

2006年(38)

我的朋友

分类: Oracle

2007-04-05 12:33:36

现有数据表test,其中数据如下:
SQL(testdb)>select * from test order by 1;
        ID
----------
         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
现在要实现查询好的结果排序为,18,19,20,然后是按数字1到17顺序排序,即:
       ID
----------
        18
        19
        20
         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        11
        12
        13
        14
        15
        16
        17
 
 
实现的方法为:
SQL(testdb)>select * from test order by decode(id,18,-2,19,-1,20,0,id);
        ID
----------
        18
        19
        20
         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        11
        12
        13
        14
        15
        16
        17
20 rows selected.
阅读(524) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~