Tsql 将同一类别的其他关联记录与该类别中的最新记录保持一致
我想统计属于一个类别的所有记录&获取与最新记录关联的数据,如下所示Tsql 将同一类别的其他关联记录与该类别中的最新记录保持一致,tsql,Tsql,我想统计属于一个类别的所有记录&获取与最新记录关联的数据,如下所示 CREATE TABLE #TestTable ( SomeColumn VARCHAR(1) ,data varchar(50) ,CDate datetime ) GO INSERT INTO #TestTable VALUES ('A','abdss',getdate()) INSERT INTO #TestTable VALUES ('A','abserts',getdate()) INSERT INTO #Te
CREATE TABLE #TestTable
(
SomeColumn VARCHAR(1)
,data varchar(50)
,CDate datetime
)
GO
INSERT INTO #TestTable VALUES ('A','abdss',getdate())
INSERT INTO #TestTable VALUES ('A','abserts',getdate())
INSERT INTO #TestTable VALUES ('A','awabs',getdate())
INSERT INTO #TestTable VALUES ('A','abrfgts',getdate())
INSERT INTO #TestTable VALUES ('A','abasds',getdate())
INSERT INTO #TestTable VALUES ('A','abasds',getdate())
INSERT INTO #TestTable VALUES ('A','aberzsdsfs',getdate())
INSERT INTO #TestTable VALUES ('A','abarfzdfs',getdate())
INSERT INTO #TestTable VALUES ('B','abzdsfs',getdate())
--SELECT * , COUNT(SomeColumn) From #TestTable
--GROUP BY SomeColumn
drop table #TestTable
所需的输出将为SomeColumn | Data | Date |Other Associates Records <br/>
A | abarfzdfs |last A record date |7<br/>
B | abzdsfs |last B record date |0<br/>
SomeColumn |数据|日期|其他员工记录
一个| abarfzdfs |最后一个记录日期| 7
B | abzdsfs |上次B记录日期| 0
您尚未指定正在使用的sql server版本。但是如果您使用的是SQLServer2005+。可能是这样的:
;WITH CTE
AS
(
SELECT
ROW_NUMBER() OVER(PARTITION BY SomeColumn ORDER BY CDate) AS RowNbr,
COUNT(SomeColumn) OVER(PARTITION BY SomeColumn) AS Counts,
test.*
FROM
#TestTable AS test
)
SELECT
*
FROM
CTE
WHERE
CTE.RowNbr=1
@雨伞公司:记得投票给你认为好的答案。这给了我们一种温暖模糊的感觉:P