Skip to content Skip to sidebar Skip to footer

Grouping With Partition And Over In Tsql

I have a simple table CREATE TABLE [dbo].[Tooling]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NOT NULL, [Status] [int] NOT NULL, [DateFinished] [datetime] NULL, [To

Solution 1:

OK, supposing it's ordered by id

select * 
from (
  select *, rng = row_number() over (partition by grp order by id)
  from (
    select *, grp = row_number() over (order by id) - row_number() over (partition by Name, Status, DateFinished order by id)
    from tooling ) g
  ) gn
where rng = 1
order by id

Post a Comment for "Grouping With Partition And Over In Tsql"