首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BigQuery等级()在有或在哪里有子句

BigQuery等级()在有或在哪里有子句
EN

Stack Overflow用户
提问于 2014-04-25 14:43:02
回答 1查看 6.3K关注 0票数 3

在BigQuery中,我有一个查询,它使用RANK()函数对用户进行跨源总计数的分组。我只关心十大用户。目前,我正在子select中执行RANK()函数,并在父查询中使用WHERE子句来限制结果。有人能向我解释一下,在没有父查询的情况下,我是如何做到这一点的吗?我想运行的查询如下所示:

代码语言:javascript
复制
SELECT source, user, count( tweet_id ) as total, max( friends ) as friends, 
RANK() OVER (PARTITION BY source ORDER BY total DESC, friends DESC ) as user_rank
FROM tweets
GROUP BY source, user
HAVING user_rank <= 10

但是我得到了错误:在表'tweets‘中找不到'user_rank’字段。我可以使用ORDER BY使用user_rank,只是不过滤。

谢谢你的建议!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-25 16:14:19

你可能得做些像

代码语言:javascript
复制
SELECT source, user, total, friends, user_rank

FROM (
    SELECT source, user, count( tweet_id ) as total, max( friends ) as friends, 
    RANK() OVER (PARTITION BY source ORDER BY total DESC, friends DESC ) as user_rank
    FROM tweets
    GROUP BY source, user
) 

HAVING user_rank <= 10
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23296258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档