首页 > 解决方案 > 按一对值对列进行排序

问题描述

我有 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

我怎么做 ?

标签: sqlvertica

解决方案


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

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

推荐阅读