如何在SQL Server中以5分钟间隔对datetime进行分区?

考勤系统

如何以5分钟间隔对日期时间进行分组。

这是我的桌子

id  Belongs_to            dt
----------------------------------------
102 2020-08-07  2020-08-07 09:48:01.000
102 2020-08-07  2020-08-07 09:48:03.000
102 2020-08-07  2020-08-07 16:24:01.000
102 2020-08-07  2020-08-07 17:22:03.000
102 2020-08-07  2020-08-07 17:23:01.000
102 2020-08-07  2020-08-07 17:23:01.000
102 2020-08-07  2020-08-07 21:28:03.000
102 2020-08-07  2020-08-07 21:28:04.000

我尝试下面的查询进行分组

select 
    t.emp_Reader_id, Belongs_to, 
    format(dt, 'yyyy-MM-dd HH:mm') as dt,
    row_number() over (partition by t.emp_reader_id, Belongs_to order by FORMAT(dt, 'yyyy-MM-dd HH:mm')) as seqnum
from
    trnevents t
where 
    T.emp_reader_id = 102
group by 
    t.emp_reader_id, format(dt, 'yyyy-MM-dd HH:mm'), Belongs_to

现在时间秒被忽略了,如果我在同一时间也想按5分钟间隔分组

预期产量:

id  Belongs_to           dt        seqnum
102 2020-08-07  2020-08-07 09:48    1
102 2020-08-07  2020-08-07 16:24    2
102 2020-08-07  2020-08-07 17:22    3
102 2020-08-07  2020-08-07 21:28    4
瓦希德·法拉赫曼迪安(Vahid Farahmandian)

您可以尝试以下方法:

SELECT *,
       ROW_NUMBER() OVER (ORDER BY dt) AS seqno
FROM
(
    SELECT DISTINCT
           K.emp_Reader_id,
           K.Belongs_to,
           K.newDT AS dt
    FROM
    (
        SELECT emp_Reader_id, Belongs_to,
               CASE
                   WHEN DATEDIFF(MINUTE, K.checker, dt) > 5 THEN
                       dt
                   ELSE
                       K.checker
               END AS newDT
        FROM
        (
            SELECT *,
                   FIRST_VALUE(dt) OVER (PARTITION BY CAST(dt AS DATE), DATEPART(HOUR, dt)
                                         ORDER BY dt
                                         ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
                                        ) AS checker
            FROM #r
        ) AS K
    ) AS K
) AS K;

进一步了解FIRST_VALUE

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果前后1分钟或2分钟,如何舍入到最接近的5分钟间隔?

来自分类Dev

如何在SQL中将5分钟的时间戳间隔转换为1分钟的间隔,同时保留其他信息?

来自分类Dev

如何添加新的5分钟间隔

来自分类Dev

如何获得每5分钟的间隔记录?

来自分类Dev

如何基于熊猫时间序列中的5分钟间隔创建组ID?

来自分类Dev

如何在5分钟的间隔后使用autoit检查文件更新?

来自分类Dev

如何基于熊猫时间序列中的5分钟间隔创建一个组ID?

来自分类Dev

如何在5分钟到30分钟之间汇总数据,同时保持日期间隔和其他值

来自分类Dev

如何将csv中缺少的日期(间隔为15分钟)点存储到新文件中(间隔为15分钟)-python 3.5

来自分类Dev

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

来自分类Dev

如何根据mysql中的10分钟间隔获得结果

来自分类Dev

如何在Android中以60分钟的间隔安排每天的上午12点至下午6点之间的工作?

来自分类Dev

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

来自分类Dev

如何在最近5分钟内更改文件

来自分类Dev

在SQL Server中执行MDX查询需要2秒,但通过ADOMD执行它并检索数据需要5分钟

来自分类Dev

如何在最近1分钟内仅在sql中显示新添加的数据

来自分类Dev

如何在SQL中每2分钟获取一次记录

来自分类Dev

如何从SQL数据库表中获取最近5分钟的记录?

来自分类Dev

如何从SQL数据库表中获取最近5分钟的记录?

来自分类Dev

如何在SQL Server中将分钟数转换为间隔?

来自分类Dev

如何在Oracle SQL中检查两个时间戳记(2)之间的差是否大于5分钟或5秒

来自分类Dev

如何用小时列融化pandas.DataFrame并以15分钟为间隔进行划分

来自分类Dev

我们如何使用ShellTileSchedule在5分钟的间隔内更新Windows Phone 8翻转贴图图像?

来自分类Dev

如何使用不完整的数据集创建5分钟间隔的日期时间索引(Python)

来自分类Dev

如何使用不完整的数据集创建5分钟间隔的日期时间索引(Python)

来自分类Dev

固定间隔说5分钟后,如何从url保存JSON并从url更新保存的文件

来自分类Dev

数据之间的时间间隔都超过5分钟时,如何按计数查询和排序数据

来自分类Dev

将时间舍入到最近的5分钟SQL Server

来自分类Dev

在SQL Server中将时间字段分组为5分钟

Related 相关文章

  1. 1

    如果前后1分钟或2分钟,如何舍入到最接近的5分钟间隔?

  2. 2

    如何在SQL中将5分钟的时间戳间隔转换为1分钟的间隔,同时保留其他信息?

  3. 3

    如何添加新的5分钟间隔

  4. 4

    如何获得每5分钟的间隔记录?

  5. 5

    如何基于熊猫时间序列中的5分钟间隔创建组ID?

  6. 6

    如何在5分钟的间隔后使用autoit检查文件更新?

  7. 7

    如何基于熊猫时间序列中的5分钟间隔创建一个组ID?

  8. 8

    如何在5分钟到30分钟之间汇总数据,同时保持日期间隔和其他值

  9. 9

    如何将csv中缺少的日期(间隔为15分钟)点存储到新文件中(间隔为15分钟)-python 3.5

  10. 10

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

  11. 11

    如何根据mysql中的10分钟间隔获得结果

  12. 12

    如何在Android中以60分钟的间隔安排每天的上午12点至下午6点之间的工作?

  13. 13

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

  14. 14

    如何在最近5分钟内更改文件

  15. 15

    在SQL Server中执行MDX查询需要2秒,但通过ADOMD执行它并检索数据需要5分钟

  16. 16

    如何在最近1分钟内仅在sql中显示新添加的数据

  17. 17

    如何在SQL中每2分钟获取一次记录

  18. 18

    如何从SQL数据库表中获取最近5分钟的记录?

  19. 19

    如何从SQL数据库表中获取最近5分钟的记录?

  20. 20

    如何在SQL Server中将分钟数转换为间隔?

  21. 21

    如何在Oracle SQL中检查两个时间戳记(2)之间的差是否大于5分钟或5秒

  22. 22

    如何用小时列融化pandas.DataFrame并以15分钟为间隔进行划分

  23. 23

    我们如何使用ShellTileSchedule在5分钟的间隔内更新Windows Phone 8翻转贴图图像?

  24. 24

    如何使用不完整的数据集创建5分钟间隔的日期时间索引(Python)

  25. 25

    如何使用不完整的数据集创建5分钟间隔的日期时间索引(Python)

  26. 26

    固定间隔说5分钟后,如何从url保存JSON并从url更新保存的文件

  27. 27

    数据之间的时间间隔都超过5分钟时,如何按计数查询和排序数据

  28. 28

    将时间舍入到最近的5分钟SQL Server

  29. 29

    在SQL Server中将时间字段分组为5分钟

热门标签

归档