I have a table something like this:
CREATE TABLE [dbo].[Test3](
[UserId] [int] NULL,
[RoleId] [int] NULL,
[lastDate] [date] NULL
) ON [PRIMARY]
INSERT INTO [dbo].[Test3]([UserId],[RoleId],[lastDate])
VALUES
(1,1,'2019-02-02'),
(1, NULL, '2019-02-02'),
(1, 2, '2019-02-03'),
(2, 1, '2019-02-05'),
(2, 1, '2019-02-02'),
(2, 1, '2019-02-02'),
(3, 3, '2019-02-02'),
(3, NULL, '2019-02-02')
How do I set row number and max lastdate a list of users who have the same "userid"? I need output should be look like this.
rownumber userid RoleId lastdate
1 1 2 2019-02-03
2 1 1 2019-02-03
3 1 NULL 2019-02-03
1 2 1 2019-02-05
2 2 1 2019-02-05
3 2 1 2019-02-05
1 3 3 2019-02-02
2 3 NULL 2019-02-02