我有一個看起來像這樣的表:
date account asset amount
01-01-2022 1 A 12
01-01-2022 1 B 100
02-01-2022 1 A 14
02-01-2022 1 B 98
01-01-2022 2 A 15
01-01-2022 2 C 230
02-01-2022 2 A 13
02-01-2022 2 B 223
03-01-2022 2 A 17
03-01-2022 2 B 237
我希望能夠獲得每個帳戶的最后一個值(即最大日期)。所以結果應該是這樣的:
date account asset amount
02-01-2022 1 A 14
02-01-2022 1 B 98
03-01-2022 2 A 17
03-01-2022 2 B 237
這如何在 SQL 中完成?編輯:請注意,不同帳戶的最大日期不一樣。
uj5u.com熱心網友回復:
您可以通過首先選擇每個帳戶的最大日期,然后在給定日期約束的情況下強制帳戶之間的匹配來做到這一點,如以下查詢:
SELECT
*
FROM
(
SELECT
MAX(date) AS date,
account
FROM
tab
GROUP BY
account
) max_date_per_account
INNER JOIN
tab
ON
tab.date = max_date_per_account.date
AND
tab.account = max_date_per_account.account
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/453944.html
標籤:sql PostgreSQL 日期 最大限度
