0

クエリに問題があります。これがクエリです。

SELECT UserID, MAX(UserName) as UserName, MAX(TransactionTime) as TransactionTime,         MAX(LastAction) as LastAction 
FROM UserActivities 
WHERE OrganizationID = 26465
GROUP BY UserID

さまざまなTransactionTimeで、特定のユーザーのレコードが非常に多くあります。他のレコードと一緒にLastActionを実行したいと思います。どうすればいいですか?SQLパーティションはここで機能しますか?

4

1 に答える 1

2

ランキング関数はおそらくあなたが探しているものです:

SELECT *
FROM (
   SELECT UserID, UserName, LastAction, row_number() over(partition by UserId order by TransactionTime desc) RowNo
   FROM UserActivities 
   WHERE OrganizationID = 26465
) t
where t.RowNo = 1
于 2011-08-11T08:18:07.477 に答える