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