我有以下表結構:獲取不同的名稱,地址,最大(日期),同時保留ID
ID | fname | lname | street | date
我試圖抓住不同FNAME,LNAME,街道和max(日期),而且還保留匹配行的ID。所以可能會有多行匹配的fname,lname,street,但所有的ID都是不同的,看起來像是一件簡單的事情,但很明顯,它已經逃到了這一點。
我發現一些解決方案几乎適合這個,但不是很完美。如果這已被覆蓋,我很抱歉。
謝謝。
我有以下表結構:獲取不同的名稱,地址,最大(日期),同時保留ID
ID | fname | lname | street | date
我試圖抓住不同FNAME,LNAME,街道和max(日期),而且還保留匹配行的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
假設最大(日期)處於最大(ID):
select max(ID), fname, lname, street, max(date)
from tablename
group by fname, lname, street
你是什麼意思的 「保留」 的標識做?您是否希望ID在您的行中成爲逗號分隔的值列表? –
簡單的方法來問這個問題 - 顯示樣本數據 - 顯示預期的結果。聽起來像你需要一個別名查詢,執行以下'...(SELECT RecordID,MAX(Date)AS TheMax FROM ... GROUP BY RecordID)t ON t.RecordID = yourTable.RecordID' – JonH
你在問數據庫對不同的事物做...提供一組不同的記錄,但不包括身份證作爲區分標準的一部分。並且包含一件讓記錄獨一無二的東西。你必須選擇一個或另一個。 – bluevector