按值对对列进行排序

时间:2020-05-20 08:11:41

标签: sql vertica

我有2个简单的列: 一列只是一个ID列,另一列是某种布尔类型的列。

ID   V
0    1
1    0
2    0
3    1
4    1
5    0

我想按列V的值对(0,1)对行进行排序 (同时仍将ID保持为最小):

ID   V
1    0
0    1
2    0
3    1
5    0
4    1

我该怎么做?

1 个答案:

答案 0 :(得分:3)

您似乎想要依次获取0和1的行:

select id, v
from tab
order by
   row_number() 
   over (partition by v
         order by id)
  ,v