【发布时间】:2018-08-21 08:30:22
【问题描述】:
我有一张如下表
id user_id bal createdDate
1 001 100 2015-02-17 16:45:44
2 001 200 2015-02-18 18:45:44
3 002 300 2015-02-20 16:45:44
4 002 800 2015-02-18 18:45:44
5 001 300 2015-03-01 16:20:44
6 002 500 2015-03-17 16:45:44
7 002 200 2015-03-18 18:45:44
8 003 300 2015-03-10 16:45:44
9 003 80 2015-03-18 18:45:44
10 003 200 2015-03-21 16:20:44
我想要每个 user_id 的最新余额并将所有余额相加。结果,我将得到用户 001,002,003 的组合最新余额的总和
- 此表包含大约 500 万条记录
- 此表保存每个用户的帐户余额历史记录。因此,最新日期是该用户的最新帐户余额。
以下是我的查询,但由于我的 MySQL 工作台冻结,我没有得到任何结果。
SELECT (SUM(bal))
FROM hist_bal h1
WHERE h1.createDate = (SELECT MAX(h2.createDate)
FROM hist_bal h2
WHERE h2.user_id = h1.user_id GROUP BY h2.user_id)
【问题讨论】:
-
请添加您的表定义。