现有数据表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) |