22,302
社区成员




USE tempdb
GO
IF OBJECT_ID('dbo.[t]') IS NOT NULL
DROP TABLE dbo.[t]
GO
CREATE TABLE dbo.[t](
[userid] INT
,[time] DATETIME
)
GO
SET NOCOUNT ON
INSERT INTO dbo.[t] VALUES(N'1',N'2018-11-20 12:24:20')
INSERT INTO dbo.[t] VALUES(N'2',N'2018-11-20 14:21:20')
INSERT INTO dbo.[t] VALUES(N'3',N'2018-11-21 09:21:52')
INSERT INTO dbo.[t] VALUES(N'2',N'2018-11-23 23:21:20')
INSERT INTO dbo.[t] VALUES(N'4',N'2018-11-24 10:04:39')
INSERT INTO dbo.[t] VALUES(N'4',N'2018-11-24 12:04:39')
GO
--- 以上为测试数据 ----
SELECT
userid
,[time]
FROM (
SELECT ROW_NUMBER() OVER (PARTITION BY userid ORDER BY [time]) AS rid,* FROM t
) AS tt
WHERE tt.rid=1
/*
userid time
----------- -----------------------
1 2018-11-20 12:24:20.000
2 2018-11-20 14:21:20.000
3 2018-11-21 09:21:52.000
4 2018-11-24 10:04:39.000
*/
Select userid,MIN(time) AS time from 表名 GROUP BY userid