我有以下表结构:
ID | fname | lname | street | date
我正在尝试获取不同的 fname、lname、street 和 max(date),但也保留匹配行的 id。因此,可能会有多行匹配的 fname、lname、street 但都具有不同的 ID
我找到了一些几乎适合这个但不完全适合的解决方案。如果这已被涵盖,我深表歉意。
谢谢。
我有以下表结构:
ID | fname | lname | street | date
我正在尝试获取不同的 fname、lname、street 和 max(date),但也保留匹配行的 id。因此,可能会有多行匹配的 fname、lname、street 但都具有不同的 ID
我找到了一些几乎适合这个但不完全适合的解决方案。如果这已被涵盖,我深表歉意。
谢谢。
尝试以下操作:
;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
假设 max(date) 在 max(id) 中:
select max(ID), fname, lname, street, max(date)
from tablename
group by fname, lname, street