【发布时间】:2020-10-06 15:00:27
【问题描述】:
我有一张如下所示的表格。
ParentID | PersonID | Year
----------------------------
1 1 2019
1 2 2020
3 3 2019
3 4 2020
5 5 2019
我试图弄清楚当 ParentID 有多个记录时如何选择当前的 PersonID,所以我的结果如下所示。
ParentID | PersonID | Year
----------------------------
1 2 2020
3 4 2020
5 5 2019
我不能只选择最大 PersonID,因为我们有时会创建上一年的 Person 记录,在这种情况下,PersonID 更大,我们仍然希望返回今年的记录。我也不能根据年份进行选择,因为如果他们没有今年的记录,我们仍然需要他们每年的最新记录。
此时我已尝试以六种方式选择此子集,但只能设法让我的大脑受伤。任何帮助将不胜感激!
【问题讨论】:
标签: sql date select case greatest-n-per-group