SQL查询获取Apache配置单元上有序列表的顶部元素
我在SQL数据库中有下表SQL查询获取Apache配置单元上有序列表的顶部元素,sql,hive,Sql,Hive,我在SQL数据库中有下表 user rating 1 10 1 7 1 6 1 2 2 8 2 3 2 2 2 2 我只想保留用户最好的两个评级,以获得: user rating 1 10 1 7 2 8 2 3 SQL查询将如何实现这一点?我不知道怎么做。它会起作用的 ;with cte as (select user,rating, row_number() over (partition by user order by rating desc) maxval from yourta
user rating
1 10
1 7
1 6
1 2
2 8
2 3
2 2
2 2
我只想保留用户最好的两个评级,以获得:
user rating
1 10
1 7
2 8
2 3
SQL查询将如何实现这一点?我不知道怎么做。它会起作用的
;with cte as
(select user,rating, row_number() over (partition by user order by rating desc) maxval
from yourtable)
select user,rating
from cte
where maxval in (1,2)
mysql或postgres不是都在Hive上。这是针对postgres的,如果它在Hive上运行,或者如何转换它我不知道选择用户,从选择用户开始分级,分级,分区上的行数按用户顺序按分级DESC as rn FROM t as x,其中rn