-1
我有一個表所示:採取的最後一個記錄
Create table Accounts
(
account_key char(2)
,account_name varchar(1024)
,type varchar(50)
,date_entered date
);
我需要選擇每個account_name
了最新記錄。如何做到這一點?最好藉助Row_Number
我有一個表所示:採取的最後一個記錄
Create table Accounts
(
account_key char(2)
,account_name varchar(1024)
,type varchar(50)
,date_entered date
);
我需要選擇每個account_name
了最新記錄。如何做到這一點?最好藉助Row_Number
WITH CTE AS
(
SELECT account_key, account_name, type, date_entered,
rn = row_number() over (partition by account_name order by date_entered desc)
FROM dbo.Accounts
)
SELECT account_key, account_name, type, date_entered
FROM CTE
WHERE RN = 1
你可以不喜歡它:
SELECT account_key, account_name, type, date_entered
from (
SELECT account_key,account_name,type,date_entered,
ROW_NUMBER() OVER (PARTITION BY date_entered DESC) AS RN
FROM Accounts
) X
WHERE X.RN=1
你有沒有嘗試使用'ROW_NUMBER'什麼? –