gpt4 book ai didi

SQL Server - 选择所有顶部的小时记录

转载 作者:行者123 更新时间:2023-11-30 23:49:10 25 4
gpt4 key购买 nike

我有一个大表,每秒钟创建一次记录,并且只想选择过去 2 个月内每小时创建的记录。因此,我们将在过去 60 天内每天获得 24 条选定记录

表结构为Dateandtime、Value1、Value2等

非常感谢

最佳答案

您可以 group by在日期部分( cast(col1 as date) )和小时部分( datepart(hh, col1) 。然后选择每小时的最小日期,并对其进行过滤:

select  *
from YourTable yt
join (
select min(dateandtime) as dt
from YourTable
where datediff(day, dateandtime, getdate()) <= 60
group by
cast(dateandtime as date)
, datepart(hh, dateandtime)
) filter
on filter.dt = yt.dateandtime

或者,您可以按仅包含日期和小时的日期格式进行分组。例如, convert(varchar(13), getdate(), 120)返回 2013-05-11 18 .
        ...
group by
convert(varchar(13), getdate(), 120)
) filter
...

关于SQL Server - 选择所有顶部的小时记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16499322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com