Teradata SQL MAX 函数和重复行
Teradata SQL MAX function and duplicate rows
我的原始报告return账户ABC有3条记录,1条处于已批准状态,2条处于暂停状态。这些行的唯一区别是状态和帐单编号。所有其他数据都是相同的。
我正在尝试创建此报告的一个变体,该报告将 return 1 行用于帐户 ABC,其中一列显示已批准帐户的计数,另一列显示已暂停帐户的计数。
在新报告中,将有一个值为 1 的已批准帐户列和一个值为 2 的暂停帐户列。
我正在使用 MAX 函数 return 只有 1 行。我遇到的问题是 2 条处于暂停状态的记录除了帐单编号外是相同的。
如果我从 SQL 中删除账单编号,那么结果只有 return 1 个暂停帐户和 1 个批准帐户。我需要 SQL 到 return 1 行,其中 1 行在已批准列中,2 行在已暂停列中
这是一些示例数据:
Acct# Bill# Name Location Status
ABC Bill1 ABC Co 123456 Approved
ABC Bill2 ABC Co 123456 Suspended
ABC Bill3 ABC Co 123456 Suspended
如有任何建议,我们将不胜感激。感谢您的帮助.....
你需要"conditional aggregation":
select Acct#, Name, Location,
sum(case when Status = 'Approved' then 1 else 0 end) as Approved,
sum(case when Status = 'Suspended' then 1 else 0 end) as Suspended
from ...
group by 1,2,3
我的原始报告return账户ABC有3条记录,1条处于已批准状态,2条处于暂停状态。这些行的唯一区别是状态和帐单编号。所有其他数据都是相同的。
我正在尝试创建此报告的一个变体,该报告将 return 1 行用于帐户 ABC,其中一列显示已批准帐户的计数,另一列显示已暂停帐户的计数。
在新报告中,将有一个值为 1 的已批准帐户列和一个值为 2 的暂停帐户列。
我正在使用 MAX 函数 return 只有 1 行。我遇到的问题是 2 条处于暂停状态的记录除了帐单编号外是相同的。
如果我从 SQL 中删除账单编号,那么结果只有 return 1 个暂停帐户和 1 个批准帐户。我需要 SQL 到 return 1 行,其中 1 行在已批准列中,2 行在已暂停列中
这是一些示例数据:
Acct# Bill# Name Location Status
ABC Bill1 ABC Co 123456 Approved
ABC Bill2 ABC Co 123456 Suspended
ABC Bill3 ABC Co 123456 Suspended
如有任何建议,我们将不胜感激。感谢您的帮助.....
你需要"conditional aggregation":
select Acct#, Name, Location,
sum(case when Status = 'Approved' then 1 else 0 end) as Approved,
sum(case when Status = 'Suspended' then 1 else 0 end) as Suspended
from ...
group by 1,2,3