sql - 获取每个月的平均经过时间
问题描述
我有一张表,上面有输入日期和完成日期(记录可以追溯到几年前),我需要编写一个查询,给出每个月完成的平均时间。我可以得到总体平均水平,
SELECT AVG ( t.completion_dt - t.entry_dt ) * 24
FROM table t;
或特定月份的平均值,
SELECT AVG ( t.completion_dt - t.entry_dt ) * 24
FROM table t
WHERE t.entry_dt BETWEEN to_date('2018/12/01','yyyy/mm/dd') AND
to_date('2019/1/01', 'yyyy/mm/dd');
有没有办法让查询返回每个月的平均值?
解决方案
如果您想独立查看每个月/年(2020 年 1 月与 2019 年 1 月在不同的行上),那么您可以对entry_dt
在该月截断的字段进行分组。
SELECT trunc(t.entry_dt,'MM'),
AVG ( t.completion_dt - t.entry_dt ) * 24
FROM table t
group by trunc(t.entry_dt,'MM');
如果您想在多年内平均所有 1 月的月份,您将需要按照您所在entry_dt
领域的 to_char 之类的东西进行分组。
SELECT to_char(t.entry_dt, 'Month'),
AVG ( t.completion_dt - t.entry_dt ) * 24
FROM table t
group by to_char(t.entry_dt, 'Month');
推荐阅读
- firebase - 由于未找到 Firebase 站点问题,无法重置电子邮件或密码
- python - Python:化学元素计数器
- svelte - 部署到 web 子文件夹(url 前缀)
- c# - 无法将“System.Collections.Generic.List`1 类型的对象转换为 System.Windows.Forms.BindingSource”类型
- r - 从一系列注视计算首次注视时间、首次注视持续时间和访问持续时间(眼动追踪;R)
- php - 我将如何更新这些规则以便两者都可以在 .htaccess 中运行?
- google-apps-script - Google Sheet 加速循环
- java - 我如何访问对象 o 的吸气剂
- debugging - vmlaunch 后调试虚拟机
- python - FileNotFoundError:[Errno 2] 没有这样的文件或目录:'netsh'