2013-08-06 68 views

回答

2

所有獨特的名字:

;WITH cte AS 
(
    SELECT ID, Name, Address, Birthdate, 
    rn = ROW_NUMBER() OVER (PARTITION BY Name ORDER BY ID DESC) 
    FROM dbo.tablename 
) 
SELECT ID, Name, Address, Birthdate 
FROM cte 
WHERE rn = 1; 

對於只有一個:

SELECT TOP (1) ID, Name, Address, Birthdate 
    FROM dbo.tablename 
    WHERE Name = 'Andrew' 
    ORDER BY ID DESC; 
2
declare @name varchar(100) = 'Andrew' 

select top 1 * 
from MyTable 
where Name = @name 
order by ID desc 
0

假定表名是 'MY_TABLE'。 試試這個:

SELECT max(ID) FROM my_table WHERE Name = 'Andrew' 

更多關於max函數here

+0

如果OP想要的名稱,地址,生日等除了ID? –

+0

你說得對。我讀到他只想獲得最高的ID,我的不好。 :)在這種情況下,我會回答你的答案。 –

相關問題