我试图获取表格上每个不同帐户的最后结果(余额)(示例如下)。我尝试使用 GROUP BY ,但它返回找到的第一行。
我的预期结果是他向我返回第4行(帐户2的最后余额)和第5行(帐户1的最后余额),而不是返回行 1和3(每个帐户的第一笔余额)
使用的SQL:
select * from sample_table group by account_id;
样品表:
+-------------+------------+
| id | account_id | balance|
+----+------------+--------+
| 1 | 1 | 100.00 |
| 2 | 1 | 150.00 |
| 3 | 2 | 50.00 |
| 4 | 1 | 130.00 |
| 5 | 2 | 70.00 |
+-------------+------------+
答案 0 :(得分:0)
您可以这样做:
SELECT t1.*
FROM sample_table t1 LEFT JOIN sample_table t2
ON (t1.account_id = t2.account_id AND t1.id < t2.id)
WHERE t2.id IS NULL;