微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

BigQuery - 查询每个元素

如何解决BigQuery - 查询每个元素

我想为一个查询循环多个元素。

这是查询

SELECT
  timestamp_trunc(timestamp,DAY) as Day,count(1) as Number
FROM `table`
WHERE user_id="12345" AND timestamp >= '2021-07-05 00:00:00 UTC' AND timestamp <= '2021-07-08 23:59:59 UTC'
GROUP BY 1
ORDER BY Day

所以我在两个日期之间每天为用户“12345”设置一个行计数器,这是完美的。

但我想对我的表的每个 user_id 执行此查询

非常感谢

解决方法

SELECT
  timestamp_trunc(timestamp,DAY) as Day,user_id,count(1) as Number
FROM `table`
WHERE timestamp >= '2021-07-05 00:00:00 UTC' AND timestamp <= '2021-07-08 23:59:59 UTC'
GROUP BY 1,2
ORDER BY Day
,

如果您了解用户,则使用条件聚合:

SELECT timestamp_trunc(timestamp,COUNTIF(user_id = 12345) as cnt_12345,COUNTIF(user_id = 67) as cnt_67,COUNTIF(user_id = 89) as cnt_89
FROM `table`
WHERE timestamp >= '2021-07-05 00:00:00 UTC' AND
      timestamp <= '2021-07-09 00:00:00 UTC'
GROUP BY 1
ORDER BY 1;

还要注意我对时间比较所做的更改——这样您就不必担心午夜前的几分之一秒。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。