【发布时间】:2021-01-25 12:24:44
【问题描述】:
我有一个具有以下架构的表:
id itemid date some additional data
1 1000 10/12/2020 a
2 1000 10/12/2020 b
3 1002 09/12/2020 c
4 1001 07/12/2020 d
5 1000 05/12/2020 e
6 1005 03/12/2020 f
7 1003 03/12/2020 g
在此表中,只有 id 字段是唯一的。我关心的是获取包含最后一个 X 不同 itemid 的行,按日期排序。
例如,在上面的示例中,如果我想获得最后 3 个不同的 itemid,我将获得前 4 行,因为在前 4 行中我们有三个不同的 itemid: 1000、1002 和 1001。我不确定如何使用单个 SQL 语句来实现。
【问题讨论】:
-
我不明白这个。如果您想获得不同的 itemid,那么您为什么期望前 4 行会重复 itemid = 1000
-
表中有不同的第 1 行和第 2 行的附加字段 - 我关心的是获取与最后 X 个不同 itemid 相关的所有数据 - 让我更新架构。
-
请注意,表格有列,而不是字段。
-
是的,我的错....
标签: sql postgresql distinct top-n