Sql 配置单元-在一个查询中具有多个度量值的前N个?

Sql 配置单元-在一个查询中具有多个度量值的前N个?,sql,hive,multiple-columns,measurement,top-n,Sql,Hive,Multiple Columns,Measurement,Top N,样本表 value measurement1 measurement2 -------|-------------|----------- value1 1 **2** value2 **3** **3** value3 **2** 1 然后找到前2个最高值, 我希望得到以下输出: top 2 by measurement1 top 2 by measurement2 ----------------

样本表

value    measurement1  measurement2
-------|-------------|-----------
value1       1           **2**
value2     **3**         **3**
value3     **2**           1
然后找到前2个最高值, 我希望得到以下输出:

top 2 by measurement1 top 2 by measurement2 
---------------------|----------------------
      value2                  value2    
      value3                  value1
您可以使用row_number和join执行此操作:

select s1.value1 as col1,
       s2.value2 as col2
from (select s.*,
             row_number() over (order by value1) as seqnum
      from sample s
     ) s1 join
     (select s.*,
             row_number() over (order by value2) as seqnum
      from sample s
     ) s2
     on s1.seqnum = s2.seqnum
where s1.seqnum <= 2
order by s1.seqnum;