SQL Distinct在查询中不工作-为什么?
我试图展示10个已经玩过的独特游戏,并在推文中对它们进行排序。但是,当我使用Distinct时,它仍然在game_id中显示重复项 正如您在这张图片下所看到的,您可以看到许多游戏ID 我正在尝试的是:SQL Distinct在查询中不工作-为什么?,sql,impala,Sql,Impala,我试图展示10个已经玩过的独特游戏,并在推文中对它们进行排序。但是,当我使用Distinct时,它仍然在game_id中显示重复项 正如您在这张图片下所看到的,您可以看到许多游戏ID 我正在尝试的是: select distinct game_id, spike, _c0 as tweets_per_minute from virtual4 order by tweets_per_minute desc limit 10 结果: 注意:此表是一个视图。如果您想要每场游戏的最大推特,那么选择d
select distinct game_id, spike, _c0 as tweets_per_minute
from virtual4
order by tweets_per_minute desc
limit 10
结果:
注意:此表是一个视图。如果您想要每场游戏的最大推特,那么
选择distinct
不是正确的方法。请尝试行编号()
:
select distinct
应用于整行,而不仅仅是第一列。您的查询将返回不同的行,这些行是游戏id、spike和tweets每分钟的组合,然后按tweets每分钟排序
你可以试试这个
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
select distinct
工作正常。返回的行都是不同的。我不明白这个问题。我只想在第二张图片中看到独特的游戏ID。我只看到重复。你想看到每分钟按游戏id聚合(求和?)的spike和tweets吗。例如,你想要21-315-2948吗?在第二张图片中,我只希望游戏id中没有重复。这就是我所需要的。)是的,但是你想在spike&tweets_per_minute(每分钟)专栏中展示什么呢?您是在寻找多行,但只在第一行显示game_id,还是只寻找一行,将这些其他值相加或以其他方式处理?我没有嵌套查询的经验。我尝试了您的查询,但它给了我一个错误:AnalysisException:未知表别名'v'这正是我想要的!非常感谢您的帮助和帮助。您的查询正是我想要的(独特的游戏ID)。然而,我每分钟推文中的数据与我刚刚发布的帖子中的数据不再相同。像这样的答案如何获得选票?where
子句不起任何作用<在中使用时,code>选择distinct
不合适。在子查询中的中,排序依据不合适。这次投票毫无意义。
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