SQL Server查询需要从组中提取数据
我有下面的数据,从突出显示的组中,我想从每个组中提取min datetime(灰显的行),但除date外,所有列中的数据都相同。我使用了最小合计,但我缺少日期2019-09-28-12.31.47.653829行。不确定如何从组中获取所有3行。请帮助我,谢谢我理解这是一个缺口和孤岛问题。您需要在所有列中具有相同值的相邻行的最短日期expect date,然后拉出具有最短日期的记录 以下是使用SQL Server查询需要从组中提取数据,sql,sql-server,tsql,window-functions,gaps-and-islands,Sql,Sql Server,Tsql,Window Functions,Gaps And Islands,我有下面的数据,从突出显示的组中,我想从每个组中提取min datetime(灰显的行),但除date外,所有列中的数据都相同。我使用了最小合计,但我缺少日期2019-09-28-12.31.47.653829行。不确定如何从组中获取所有3行。请帮助我,谢谢我理解这是一个缺口和孤岛问题。您需要在所有列中具有相同值的相邻行的最短日期expect date,然后拉出具有最短日期的记录 以下是使用行数()和聚合解决此问题的一种方法: select id, division,
行数()和聚合解决此问题的一种方法:
select
id,
division,
sub_div,
status,
queue,
min(event_dattim) min_event_dattim
from (
select
t.*,
row_number() over(order by event_dattim) rn1,
row_number() over(
partition by id, division, sub_div, status, queue
order by event_dattim
) rn2
from mytable t
) t
group by
id,
division,
sub_div,
status,
queue,
rn1 - rn2
编辑问题,添加一些示例数据,并以文本格式而不是图像形式显示所需结果。非常感谢您的回答!我尝试了建议的SQL查询,但仍然没有查看状态的日期2019-09-28-12.31.47.653829行。