我试图展示已播放的10个独特游戏,并在推文中对其进行排序。但是,当我使用 Distinct 时,它仍会在game_id中显示重复项。
正如您在此图片中看到的那样,您会看到许多game_ids
我在尝试什么:
select distinct game_id, spike, _c0 as tweets_per_minute
from virtual4
order by tweets_per_minute desc
limit 10
答案 0 :(得分:0)
如果你想要每场比赛的最大推文,那么select distinct
就不是正确的方法。试试row_number()
:
select game_id, spike, _c0 as tweets_per_minute
from (select v.*,
row_number() over (partition by game_id order by _c0 desc) as seqnum
from virtual4 v
) v
where seqnum = 1
order by tweets_per_minute desc
limit 10;
select distinct
适用于整行,而不仅仅适用于第一列。
答案 1 :(得分:0)
您的查询将返回不同的行,这些行是game_id,spike和tweets_per_minute的组合,然后通过tweets_per_minute排序。
你可以试试这个,
select game_id, spike, _c0 as tweets_per_minute
from virtual4
where game_id in (select distinct game_id from virtual4 order by game_id)
limit 10