590
社区成员
发帖
与我相关
我的任务
分享
USE tempdb
GO
IF OBJECT_ID('t') IS NOT NULL DROP TABLE t
GO
CREATE TABLE t(d DATETIME,n NVARCHAR(20))
INSERT INTO t
SELECT '2017-09-09 08:00:01','张三'
UNION SELECT '2017-09-09 08:00:02','张三'
UNION SELECT '2017-09-09 08:00:03','张三'
UNION SELECT '2017-09-09 08:00:01','李四'
UNION SELECT '2017-09-09 08:00:02','李四'
UNION SELECT '2017-09-09 08:00:03','李四'
UNION SELECT '2017-09-09 08:00:05','王五'
UNION SELECT '2017-09-09 08:00:01','阿六'
UNION SELECT '2017-09-09 08:00:05','阿六'
SELECT MIN(d) AS d,n FROM t GROUP BY n
USE tempdb
GO
IF OBJECT_ID('t') IS NOT NULL DROP TABLE t
GO
CREATE TABLE t(d DATETIME,n NVARCHAR(20))
INSERT INTO t
SELECT '2017-09-09 08:00:01','张三'
UNION SELECT '2017-09-09 08:00:02','张三'
UNION SELECT '2017-09-09 08:00:03','张三'
UNION SELECT '2017-09-09 08:00:01','李四'
UNION SELECT '2017-09-09 08:00:02','李四'
UNION SELECT '2017-09-09 08:00:03','李四'
UNION SELECT '2017-09-09 08:00:05','王五'
UNION SELECT '2017-09-09 08:00:01','阿六'
UNION SELECT '2017-09-09 08:00:05','阿六'
SELECT d,n
FROM (
SELECT ROW_NUMBER() OVER (PARTITION BY n ORDER BY d ASC) AS rid,*
FROM t
) AS t
WHERE t.rid=1
/*
d n
----------------------- --------------------
2017-09-09 08:00:01.000 阿六
2017-09-09 08:00:01.000 李四
2017-09-09 08:00:05.000 王五
2017-09-09 08:00:01.000 张三
*/
Select *
From 表 a
Where datetime=(Select min(datetime) From 表 b Where b.name=a.name)