【发布时间】:2020-08-18 22:40:47
【问题描述】:
我有一个包含以下列的表格:
account, validity_date, validity_month, amount
对于每一行,我想在下个月的行范围内找到最大数量。
account validity_date validity_month amount **required_column**
------- ------------- --------------- ------- ----------------
123 15oct2019 201910 400 1000
123 20oct2019 201910 500 1000
123 15nov2019 201911 1000 800
123 20nov2019 201911 0 800
123 15dec2019 201912 800
当我尝试这段代码时,我得到了下一行的值,但这不是我需要的(每个月可能不止一行):
MAX(amount) OVER (PARTITION BY account ORDER BY validity_date
ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) AS next_max_amount
account validity_date validity_month amount next_max_amount-INVALID
------- ------------- --------------- ------- ----------------------
123 15oct2019 201910 400 500
123 20oct2019 201910 500 1000
123 15nov2019 201911 1000 0
123 20nov2019 201911 0 800
123 15dec2019 201912 800
【问题讨论】:
标签: sql date teradata partitioning window-functions