【问题标题】:Teradata - Group the amount by product with the latest date of purchase in TeradataTeradata - 按产品在 Teradata 中的最新购买日期对金额进行分组
【发布时间】:2018-05-15 03:53:30
【问题描述】:

我是 Teradata 新手,谁能帮我解决以下问题。

我有一个包含数百万条记录的自定义表格,如下所示:

基本上,我需要按产品和最晚购买日期对金额进行分组。我需要的列是 Cust_id、Cust_name、日期、产品和金额。

需要如下结果集:

请帮帮我。

提前致谢!

【问题讨论】:

  • 为什么 id 601 的记录没有包含在所需的输出中

标签: sql teradata


【解决方案1】:

您可以将聚合与qualify 和rank 一起使用以获得您想要的结果。

select  Custid, custname, Date1, product, sum(amount) as amount
from table1
group by custid, custname, product, date1 
qualify rank() over(partition by custid, custname order by date1 desc) = 1
order by custname asc, date1 desc;

结果:

附注目前尚不清楚为什么您的示例所需输出中缺少 ID 为 601 的记录

【讨论】:

    猜你喜欢
    • 2014-01-26
    • 2013-05-19
    • 1970-01-01
    • 2021-03-29
    • 2016-12-13
    • 1970-01-01
    • 2021-07-24
    • 2011-03-09
    • 1970-01-01
    相关资源
    最近更新 更多