【sql基礎】按照名字分組查詢時間最早的一條記錄

給出2種解決方案

 

rownumber

SELECT *
FROM
(
SELECT IdentityID, OpenID, ROW_NUMBER() OVER(PARTITION BY OpenID ORDER BY CreateTime DESC
) AS rownumber FROM dbo.T_Account
) AS tmp
WHERE tmp.rownumber = 1

 

 

相關子查詢

SELECT DISTINCT OpenID, test1.IdentityID FROM dbo.T_Account 
AS test1
WHERE test1.IdentityID
IN 
(
SELECT TOP 1 IdentityID FROM dbo.T_Account
WHERE dbo.T_Account.OpenID =  test1.OpenID
ORDER BY CreateTime DESC

)

 

 

查詢結果

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章