需要帮助在Oracle中对数据进行排序

时间:2019-08-19 23:28:51

标签: sql oracle sorting

我有一个值列表,我需要按特定顺序对查询进行排序。

ID |值|
1 AA
1出
2 OUT
2 OUT
3 AA
3 OUT
4 CC
4 OUT
4 OUT
5 CC
5出
6 AA
6出
7 CC
7出
8出
8 BB

我需要上面的内容来排序:

ID |值|
1 AA
1出
3 AA
3 OUT
6 AA
6出
8 BB
8出
4 CC
4 OUT
4 OUT
5 CC
5出
7 CC
7出
2 OUT
2 OUT

是否有关于在SQL中执行此操作的最佳方法的想法?

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

我想你想要

order by max(case when value <> 'OUT' then value end) over (partition by id),
         value

答案 1 :(得分:0)

只需提出另一个想法:

Order by id, 
         case when value <> 'OUT' then value end

干杯!