我有一个带有两个分区条件的查询。 我想知道每天平均下载每个应用的次数。
FROM
因此查询在(avg (cnt_downloads) over (partition by ID)) as avg_dowl
之前没有最后一行的情况下工作。而且我知道我可以通过简单地包含partition over
来获得价值。
但是我的问题是我如何能够包含()
子句的两个子结果的操作。
我曾经和[]
以及{{1}}一起尝试过。总是存在错误,该字段不是原始数据库的一部分。
由于
答案 0 :(得分:0)
不要害怕使用子查询。
SELECT date, ID,
cnt_downloads,
total_down1,
total_appear,
total_down1/total_appear AS avg_dowl
FROM
(SELECT date(TIMESTAMP) AS date,
ID,
count(*) AS cnt_downloads,
sum(cnt_downloads) over (partition BY ID) AS total_downl,
count(*) over (partition BY ID) AS total_appear,
FROM [default.download_activity]
WHERE date(TIMESTAMP) >= '2016-01-04'
AND date(TIMESTAMP) <= '2016-01-20'
GROUP BY 1,
2
)