Teradata SQL MAX函数和重复行
我的原始报告返回帐户ABC的3条记录,1条为已批准状态,2条为已暂停状态。这些行的唯一区别是状态和账单号。所有其他数据都是相同的 我正在尝试创建此报告的一个变体,该变体将为帐户ABC返回一行,其中一列显示已批准帐户的计数,另一列显示已暂停帐户的计数 在新报告中,将有一个值为1的Approved Accounts列和一个值为2的Suspended Accounts列 我使用MAX函数只返回一行。我遇到的问题是,除了账单号码之外,有两条状态为“暂停”的记录是相同的 如果我从SQL中删除帐单号码,那么结果只返回1个已暂停帐户和1个已批准帐户。我需要SQL返回1行,其中1在approved列中,2在suspended列中 以下是一些示例数据:Teradata SQL MAX函数和重复行,sql,max,teradata,Sql,Max,Teradata,我的原始报告返回帐户ABC的3条记录,1条为已批准状态,2条为已暂停状态。这些行的唯一区别是状态和账单号。所有其他数据都是相同的 我正在尝试创建此报告的一个变体,该变体将为帐户ABC返回一行,其中一列显示已批准帐户的计数,另一列显示已暂停帐户的计数 在新报告中,将有一个值为1的Approved Accounts列和一个值为2的Suspended Accounts列 我使用MAX函数只返回一行。我遇到的问题是,除了账单号码之外,有两条状态为“暂停”的记录是相同的 如果我从SQL中删除帐单号码,那么
Acct# Bill# Name Location Status
ABC Bill1 ABC Co 123456 Approved
ABC Bill2 ABC Co 123456 Suspended
ABC Bill3 ABC Co 123456 Suspended
如有任何建议,将不胜感激。感谢您的帮助……您需要“条件聚合”:
您需要“条件聚合”:
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