我有一个表,其中包含多个员工的定时活动数据。从该表中,我需要使用[day](date)和[time]列仅选择活动是给定sa_person的当天第一个活动的行。 [activity id]列对于事件序列不可靠,因为某些日期/时间是不按顺序手动输入的。
下面是起始表和所需结果的图像。
提前感谢您的帮助!
表格结构:
期望的结果:
答案 0 :(得分:1)
您可以查询如下:
Select * from (
Select *, RowN = Row_Number() over (partition by saperson, [Day] order by [time] asc) from yourtable ) a
Where a.RowN = 1
提供带有文本的数据总是更好,这样我们就可以检查数据......
你也可以使用带领带的top(1)
Select top(1) with ties * from yourtable
Order by Row_Number() over (partition by saperson, [Day] order by [time])