【发布时间】:2017-03-22 12:50:32
【问题描述】:
我有一个 BigQuery 表记录从商店购买商品的时间。它包含一个 ItemID 和一个时间戳。我对购买的每件商品的运行总计感兴趣。我有这个生成运行总数的查询:
SELECT ItemID,timestamp,count(*)
OVER
(PARTITION BY ItemID
ORDER BY timestamp ASC, ItemID) AS runningtotal
from
(
SELECT * FROM [mydb.purchases]
)
ORDER BY timestamp
此表有数十万行。 我现在想做的是花费一段时间(例如一周)并在该周内为每个 ItemID 获取 100 个运行总计的样本(以便绘制没有太多数据点的图表)。 我不知道该怎么做。通过过滤诸如“where(rownumber %(rowcount / 100)= 0”之类的内容,我可以得到 100 个样本,但是如何为表中的每个 ItemID 执行此操作?我是否需要为每个 ItemID 执行多个子查询,然后创建工会?谢谢
【问题讨论】:
标签: mysql sql google-bigquery