There is a table with records in the history of the ticket.
It is necessary to make a sample, grouping users. For each user, take only one line (such that the date is maximum).
How to do it? I tried this:
CREATE TABLE [TICKETHISTORY]( [ID] varchar(10) NOT NULL, [TICKETID] varchar(10) NOT NULL, [FIELDNAME] [varchar](64) NULL, [NOTE] [varchar](255) NULL, [CREATEUSER] varchar(10) NULL, [CREATEDATE] [datetime] NULL, CONSTRAINT [PK_TICKETHISTORY] PRIMARY KEY CLUSTERED ( [ID] ASC ) ) ON [PRIMARY] INSERT INTO [TICKETHISTORY] ([ID],[TICKETID],[FIELDNAME],[NOTE],[CREATEUSER],[CREATEDATE]) VALUES('1','100','DEPART1','Notes1','User1', '2017-01-01') INSERT INTO [TICKETHISTORY] ([ID],[TICKETID],[FIELDNAME],[NOTE],[CREATEUSER],[CREATEDATE]) VALUES('2','100','DEPART1','Notes2','User1','2017-01-02') INSERT INTO [TICKETHISTORY] ([ID],[TICKETID],[FIELDNAME],[NOTE],[CREATEUSER],[CREATEDATE]) VALUES('3','100','DEPART2','Notes3','User1','2017-01-03') INSERT INTO [TICKETHISTORY] ([ID],[TICKETID],[FIELDNAME],[NOTE],[CREATEUSER],[CREATEDATE]) VALUES('4','101','DEPART1','Notes4','User2','2017-01-01') INSERT INTO [TICKETHISTORY] ([ID],[TICKETID],[FIELDNAME],[NOTE],[CREATEUSER],[CREATEDATE]) VALUES('5','101','DEPART2','Notes5','User2','2017-01-02') Only lines 3 and 5 should remain in the sample:
3 100 User1 2017-01-03 5 101 User2 2017-01-02 The request itself:
SELECT [ID] ,[TICKETID] ,[CREATEUSER] ,MAX([CREATEDATE]) FROM [TICKETHISTORY] GROUP BY TICKETID And I tried to list all the fields. BOL read https://msdn.microsoft.com/ru-ru/library/ms177673(v=sql.105) but did not find something suitable.