sql-server - SQL 从多个日期时间寄存器中获取最小小时数
问题描述
我需要显示 INFO 列,在 REGISTRATION 列中每个日期的最小小时数,一个用于 LOG
Log CAT INFO REGISTRATION
10 1 551203 2018-06-04 08:47:54.000
10 1 551549 2018-06-05 08:59:02.000
579 1 551675 2018-06-05 10:13:36.000
579 1 553681 2018-06-05 11:31:44.000
579 1 551707 2018-06-05 12:57:33.000
579 1 551364 2018-06-04 10:16:04.000
579 1 551378 2018-06-04 10:39:01.000
579 1 551379 2018-06-04 10:40:22.000
579 1 551406 2018-06-04 15:47:52.000
580 1 550922 2018-06-04 11:21:01.000
580 1 551001 2018-06-04 12:43:22.000
580 1 553321 2018-06-04 15:37:52.000
正是这个,其中每个 INFO 是每个日期的最小小时,每个 LOG
INFO
551203 -->(2018-06-04 08:47:54.000)
551675 -->(2018-06-05 10:13:36.000)
551364 -->(2018-06-04 10:16:04.000)
550922 -->(2018-06-04 11:21:01.000)
谢谢!!
解决方案
假设信息值以递增的顺序出现,那么我相信这就是您要查找的内容:
select min(info) as info, min(registration) as registration
from log
group by log, cast(registration as date);
或者只是row_number()
用来避免做出这样的假设:
with data as (
select *,
row_number() over
(partition by log, cast(registration as date) order by registration) as rn
from log
)
select * from data where rn = 1;
推荐阅读
- regex - 替换组出现次数的正则表达式替换语法
- r - R 中的函数之间无法识别 incbounds 参数
- javascript - 导航标题仅移动到两个项目而不是第三个项目
- sql-server - 除了 SQL Server 中的 dbo 之外,django 模型中的架构
- java - 使用 JavaFX 创建带有平面图块的六边形字段
- c++ - 具有 auto 和 decltype 的数组行为
- python - Praw设置flair发布后提交,submission.flair.select(flair_id, flair_text)
- c# - c# SnapObjects.Data 使用 SqlSelect 属性从模型中检索数据
- angular - 即使在Angular中刷新后如何保存数据
- java - 如何从 HTML 生成 PDF 并在 Java 代码中添加链接参考(任何网站)?