sql - 如果我必须选择几种类型的用户,如何避免“错误:不允许聚合聚合”?
问题描述
我试图根据他们在成为一个应用程序之前使用该应用程序的时间来计算不同类型的睡眠用户的比例
我将睡眠用户分为三种不同的类型:
- 注册后没用过
- 使用一段时间:不到一周
- 使用一段时间:一个多月
#standardsql
select
count (distinct case when date_diff(date(m.updated_at),date(m.created_at),day) < 1 then m.id else null end)/count(distinct m.id) as nun_used,
count (distinct case when date_diff(max(s.event_created_at_taipei_zone_date),min(s.event_created_at),day) <=7 then m.id else null end)/count(distinct m.id) as short_used,
count (distinct case when date_diff(max(s.event_created_at_taipei_zone_date),min(s.event_created_at),day) >=30 then m.id else null end)/count(distinct m.id) as long_used
from
members m
left join sessionization s
on m.id = s.member_id
where
m.updated_at < '2021-9-15' and
m.created_at > '2020-01-01'
“会话化表”将数据记录为 Google Analytics 中的会话
所以我使用 min(s.event_created_at) 来查找用户第一次使用该应用程序的时间
和 max(s.event_created_at) 来查找用户最后一次使用应用程序的时间
\
我收到“不允许聚合聚合”错误。我该怎么做才能解决这个问题?
解决方案
推荐阅读
- python - 将数据上传到 Apache Hbase 时出现 Broken Pipe 错误
- c# - 如何在处理空值和逗号时在 C# 中连接地址成员
- java - 无法将 Json 对象从 android 发送到 php
- pyspark - 列名作为同一数据框中其他列的数据
- javascript - 反应选择和搜索选项
- mysql - 如何在临时表中获取 SQL 结果并在临时表上运行另一个脚本
- laravel - Laravel 注册表单,有 2 个同名字段保存到不同的表中
- php - 需要帮助编码 PHP 以便在我的数据库中添加、删除和搜索帐户
- python - 如何使用 matplotlib 绘制和对齐多分辨率图像?
- python - 使用 Python OpenCV 查找图像中的极端外部点