让我们假设一个如下表格。构建所需的查询包括:
输入表格
p.key | id | value | type | effectiveDate | expirationDate
------------------------------------------------------------------
1 | 123 | ABC | 1D | 2000-01-01 | 2010-01-01
2 | 123 | ABC | 1D | 1990-01-01 | 2010-01-01
3 | 123 | ABC | 1D | 2010-01-01 | 2020-01-01
4 | 456 | ABC | 1D | 2000-01-01 | 2010-01-01
预期输出
p.key | id | value | type | effectiveDate | expirationDate
------------------------------------------------------------------
2 | 123 | ABC | 1D | 1990-01-01 | 2020-01-01
4 | 456 | ABC | 1D | 2000-01-01 | 2010-01-01
答案 0 :(得分:0)
这是一个相当简单的聚合。您需要使用group by
子句以及min()
和max()
函数。
select
id
, value
, type
, min(effectiveDate) as effectiveDate
, max(expirationDate) as expirationDate
from
my_table
group by
id
, value
, type
注意:我已从您的输出中删除了key
列,因为将其放在此处没有意义。