以 1 分钟为间隔获取平均值和最大值 T-SQL

junkone

我有一个以 1 分钟为间隔提取记录数的查询。我想比较平均值与最后一个值。

我只得到他总数,即计数(1)及其有效。平均值和最大值总是返回 1,这是不准确的。

我在这个 SQL 中遗漏了什么吗?

SELECT 
    FORMAT(timestamp, 'hh:mm') AS tm, 
    AVG(1) AS avgOccurances, 
    MAX(1) AS maxocc, 
    COUNT(1) AS total 
FROM   
    [history] 
WHERE  
    timestamp BETWEEN '2018-04-16 14:00:00.707' AND '2018-04-18 15:00:00.707' 
    AND result = 'F' 
GROUP BY 
    FORMAT(timestamp, 'hh:mm') 
ORDER BY 
    tm ASC 

结果

01:00   1   1   13
01:01   1   1   10
01:02   1   1   11
01:03   1   1    7
01:04   1   1   13
01:05   1   1    7
01:06   1   1   14
01:07   1   1   11
01:08   1   1   12
01:09   1   1   10
01:10   1   1    5
01:11   1   1    6
01:12   1   1    8
01:13   1   1   13
01:14   1   1    9
01:15   1   1    8
01:16   1   1    2
01:17   1   1   10
01:18   1   1    9
01:19   1   1   13
01:20   1   1    9
01:21   1   1    8
01:22   1   1   14
01:23   1   1   10
埃德·吉布斯

下面的查询假设每一行都应具有以下内容:

  • 每分钟计数
  • 计算前一分钟的每分钟
  • 计算出现次数最多的一分钟

如果那不正确,请告诉我。这是查询:

WITH countbyminute AS (
  SELECT
    FORMAT(timestamp, 'hh:mm') AS tm,
    COUNT(*) AS occurences
  FROM history
  GROUP BY FORMAT(timestamp, 'hh:mm')
)
SELECT
  tm,
  occurrences,
  LAG(occurrences) OVER (ORDER BY TIMESTAMP) AS priorocc,
  MAX(occurrences) OVER () AS maxocc
FROM countbyminute
ORDER BY tm;

我建议使用HH:mm作为格式字符串,它将使用 24 小时制(下午 1:00 为 13:00)重新显示小时数。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用T-SQL窗口函数从1分钟数据中检索5分钟平均值

来自分类Dev

SQL:使用空值获取平均值

来自分类Dev

SQL按分钟平均值获取温度值

来自分类Dev

获取T-SQL中列的运行平均值

来自分类Dev

SQL查询以获取平均值之和

来自分类Dev

MS SQL查询每天的最小值/最大值/平均值

来自分类Dev

SQL查询中所有平均值的最大值

来自分类Dev

T -SQL PATINDEX -1

来自分类Dev

SQL尝试查找仅1个属性的平均值

来自分类Dev

T-SQL计算移动平均值

来自分类Dev

t-sql比较尾随平均值与当前数据

来自分类Dev

(SQL)选择带间隔的平均值

来自分类Dev

SQL Server:为字符分配值并获取每个用户的平均值

来自分类Dev

如何分别将时间列分为5分钟间隔和最大值/最小值SQL?

来自分类Dev

如何限制SQL结果并取平均值?

来自分类Dev

按 1 行 sql 查询获取不分组的最大值

来自分类Dev

T-SQL:选择最小值和最大值的每个实例

来自分类Dev

T-SQL,在按一列分组的同时从两列中获取最大值

来自分类Dev

在 SQL Server 中计算日期时间字符串列表中的最小值、最大值和平均值

来自分类Dev

使用 Pandas 获取 TmeSeries CSV 数据的 1 分钟平均值

来自分类Dev

如何使用Shell查找间隔中的平均值和最大值

来自分类Dev

在配置文件中存储用户的“评分”或不断运行SQL查询以从单独的表中获取平均值

来自分类Dev

获取子查询SQL的平均值

来自分类Dev

表达式<Func <T1,T2,TResult >>和Sql IN

来自分类Dev

T-SQL中的按行最大值

来自分类Dev

SQL 最小值的平均值

来自分类Dev

创建一个sql查询以检索2个日期T1和T2之间或T1和T2之外的元素

来自分类Dev

创建一个SQL查询以检索2个日期T1和T2之间或T1和T2之外的元素

来自分类Dev

T-SQL选择顶部1

Related 相关文章

  1. 1

    使用T-SQL窗口函数从1分钟数据中检索5分钟平均值

  2. 2

    SQL:使用空值获取平均值

  3. 3

    SQL按分钟平均值获取温度值

  4. 4

    获取T-SQL中列的运行平均值

  5. 5

    SQL查询以获取平均值之和

  6. 6

    MS SQL查询每天的最小值/最大值/平均值

  7. 7

    SQL查询中所有平均值的最大值

  8. 8

    T -SQL PATINDEX -1

  9. 9

    SQL尝试查找仅1个属性的平均值

  10. 10

    T-SQL计算移动平均值

  11. 11

    t-sql比较尾随平均值与当前数据

  12. 12

    (SQL)选择带间隔的平均值

  13. 13

    SQL Server:为字符分配值并获取每个用户的平均值

  14. 14

    如何分别将时间列分为5分钟间隔和最大值/最小值SQL?

  15. 15

    如何限制SQL结果并取平均值?

  16. 16

    按 1 行 sql 查询获取不分组的最大值

  17. 17

    T-SQL:选择最小值和最大值的每个实例

  18. 18

    T-SQL,在按一列分组的同时从两列中获取最大值

  19. 19

    在 SQL Server 中计算日期时间字符串列表中的最小值、最大值和平均值

  20. 20

    使用 Pandas 获取 TmeSeries CSV 数据的 1 分钟平均值

  21. 21

    如何使用Shell查找间隔中的平均值和最大值

  22. 22

    在配置文件中存储用户的“评分”或不断运行SQL查询以从单独的表中获取平均值

  23. 23

    获取子查询SQL的平均值

  24. 24

    表达式<Func <T1,T2,TResult >>和Sql IN

  25. 25

    T-SQL中的按行最大值

  26. 26

    SQL 最小值的平均值

  27. 27

    创建一个sql查询以检索2个日期T1和T2之间或T1和T2之外的元素

  28. 28

    创建一个SQL查询以检索2个日期T1和T2之间或T1和T2之外的元素

  29. 29

    T-SQL选择顶部1

热门标签

归档