我有三個字段像這樣的表:獲取與分組SQL的最大總和值的記錄結果
PK account value
-----------------------
1 40010101 130
1 40010101 500
1 40010569 590
2 40010569 300
2 40010101 200
我要選擇它針對每個PK值之和的最高值的記錄,通過PK和帳戶分組,所以我的結果應該是這樣的:
PK account value
-----------------------
1 40010101 630
2 40010569 300
我試過這個解決方案:
SELECT
pn.*
FROM
(select PK, account, sum(value) as value
from table
group by PK, account) pn
INNER JOIN
(select PK, MAX(value) AS maxvalue
from (select PK, account, sum(value) as value
from table
group by PK, account) pn
group by PK) maxsum
ON pn.PK= maxsum.PK
AND pn.value = maxsum.maxvalue
它有效,但我問你一個更快的解決方案。我可以有一千個記錄匹配。我無法使用存儲過程。 使用SQL服務器。達到你想要什麼
你使用的是MySQL還是SQL Server?你能適當地標記嗎? –
@Kason你誤解了他的問題。 – Blank
如果您提供sqlfiddle.com鏈接,這種類型的問題,這將有助於我們解決更快,更準確。 –