在保留ID的同时获取不同的名称,地址,最大值(日期)

时间:2012-06-14 16:41:44

标签: sql sql-server-2008

我有以下表结构:

ID | fname | lname | street | date

我正在尝试获取不同的fname,lname,street和max(日期),但也保留匹配行的id。所以可能有多行匹配fname,lname,street但是所有ID都不同似乎是一件简单的事情,但显然它已经让我逃过了这一点。

我发现了一些几乎适合这种情况的解决方案,但并不完全适用如果有这个问题我很抱歉。

感谢。

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

;WITH CTE AS
(
    SELECT *, ROW_NUMBER() OVER(PARTITION BY fname, lname, street ORDER BY [Date] DESC) RN
    FROM yourTable
)
SELECT ID, fname, lname, street, [date]
FROM CTE
WHERE RN = 1

答案 1 :(得分:0)

假设max(date)在max(id)中:

select max(ID), fname, lname, street, max(date)
from tablename
group by fname, lname, street