在SQL / LookerML中,如何测量一组天的平均计数,每一天都有自己的数据点

联合会

我有下表:

id | decided_at        | reviewer
1    2020-08-10 13:00   john
2    2020-08-10 14:00   john
3    2020-08-10 16:00   john
4    2020-08-12 14:00   jane
5    2020-08-12 17:00   jane
6    2020-08-12 17:50   jane
7    2020-08-12 19:00   jane

我想做的是获取和之间的每一天的差值,min从ID中获取最小值,最小值和最大值之间的范围以及最大值max的总数count目前,我只能获取过去一天的数据。

所需的输出:

Date       | Time(h) | Count | reviewer
2020-08-10   3         3       john
2020-08-12   5         4       jane

由此,我希望获得过去x天数的平均值。

示例:如果今天是13日,请过滤过去2天(48小时)的输出:

reviewer | reviews/hour
jane        5/4 = 1.25

范例2:如果今天是13日,请筛选过去3天(48小时)

reviewer | reviews/hour
john       3/3 = 1
jane       5/4 = 1.25

理想情况下,如果在LookML中使用派生表就可以做到这一点,那将是最好的选择。否则,SQL解决方案将是不错的选择,我可以尝试转换为LookerML。

谢谢!

专线小巴

在SQL中,一种解决方案是使用两种聚合级别:

select reviewer, sum(cnt) / sum(diff_h) review_per_hour
from (
    select
        reviewer,
        date(decided_at) decided_date,
        count(*) cnt,
        timestampdiff(hour, min(decided_at), max(decided_at)) time_h
    from mytable
    where decided_at >= current_date - interval 2 day
    group by reviewer, date(decided_at)
) t
group by reviewer

子查询将过滤日期范围,并按审阅者和日期进行汇总,并以小时为单位计算记录数以及最小日期和最大日期之间的差。然后,外部查询由审阅者聚合并进行最终计算。

计算日期差的实际功能因数据库而异。timestampdiff()在MySQL中受支持-其他引擎都有替代品。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在SQL中选择最近30天中的每一天的平均价格

使用SQL确保我在特定时间段的每一天都有数据

SQL - 即使没有可用数据,如何返回每月的每一天

SQL对于过去一周的每一天中创建的记录数返回零

如何SQL查询有交易的月份的最后一天?

在sql中开始新的一天

SQL 查询显示过去一天的多个计数

在sql db2中從到到日期之間的每一天選擇1行

如何复制 Pandas 数据框中的行,以便 2 个时间戳(来自 2 列)之间的每一天都有自己的行?

如何在sql中的查询之间添加月份的第一天和最后一天?

每月每一天的SQL Server 2008出勤报告

如何使用 SQL 返回日期范围内一天的平均值?

SQL查找数据集的月份的第一天

SQL Server-前一天的数据检索

分解一个sql表,并为不存在的每一天插入一行

在Redshift SQL中的两个不同列中为日期之间的每一天创建一个新行

在SQL中获得频繁使用的一天

SQL Server-指定一天中的分组时间

如何在我的 sql 中获取整个月的每个月的第一天的数据?

ANSI SQL减去一天

选择前一天 SQL 的行

SQL 查询日期加一天

如何使用SQL获取一年中的第一天和一年中的最后一天?

如何获取一年中的第一天 sql 查询 oracle

仅从SQL Server中的表中的前一天恢复数据

如何在SQL中以格式112获取一年的第一天和一年的最后一天之间的范围

如何编写一个SQL语句以每两个相邻月的同一天按组对数据求和

使用SQL数据库查询以在一天的不同间隔中减去相同的列值

Django:创建一个模型,该模型每个月的每一天都有一组值