【发布时间】:2017-08-17 05:25:37
【问题描述】:
我有两张桌子:
person_id | name
1 name1
2 name2
3 name3
还有第二张桌子:
person_id | date | balance
1 2016-03 1200 ---- \
1 2016-04 700 ---- > same person
1 2016-05 400 ---- /
3 2016-05 4000
考虑到 person_id 1 在第二张表上有三条记录,我怎样才能通过获取最新记录来加入第一条记录? (即:余额400,对应日期:2016-05)。
例如:查询输出:
person_id | name | balance
1 name1 400
2 name2 ---
3 name3 4000
如果可能的话,更喜欢简单而不是解决方案的复杂性
【问题讨论】:
-
你使用什么数据库引擎?
-
AWS Redshift 是一种具有较少功能的 postregres(如果可能,查询应该与 mysql 兼容)
-
我删除了不兼容的数据库标签。请标记您真正使用的数据库。
标签: sql group-by left-join greatest-n-per-group amazon-redshift