【发布时间】:2014-11-25 15:59:21
【问题描述】:
我有一个包含三列 x, y, z 的表格。我想编写一个查询,在每个PARTITION BY x 中,返回包含y 的第一个n 不同值的行。
这是 n = 2 的示例——第一个分区中 y 的前 2 个不同值是 1 和 2,第二个分区中是 4 和 5,因此所有具有 y 值的行都是包括在内。
x y z included?
----------------------
1 1 1 true
1 1 2 true
1 2 3 true
1 2 4 true
1 3 5 false
1 3 6 false
2 4 7 true
2 4 8 true
2 5 9 true
2 5 10 true
2 6 11 false
2 6 12 false
有一个related question 处理从每个分区中选择n 行,但这不处理不同值部分。
【问题讨论】:
标签: sql postgresql subquery window-functions