如何解决派生列的 Hive (hql) 并找到总数
请指导一下
我有一个场景,其中credit_Date、debit_date 和loan_date 可以具有不同的日期值或相同的值。输出表有以下列
日期:应该结合credit_date、debit_date和loan_date(credit_date、debit_date和loan_date可以相同(或)有不同的日期)
Credit_payment:查找给定信用日期、实体、货币、所有者的信用金额总和
Debit_payment:查找给定借记日期、实体、货币、所有者的借记金额总和
Loan_payment:查找给定贷款日期、实体、货币、所有者的贷款金额总和,
实体:来自表 1 的值
货币:表 1 中的值
所有者:表 1 中的值
总计:(credit_payment + debit_payement+loan_payment)的总和
解决方法
您可以使用与我的 previous answer 中类似的查询,并更改 table1
的格式以方便按日期分组:
select coalesce(credit_date,debit_date,loan_date) as date,coalesce(sum(credit_amount),0) as credit_payment,coalesce(sum(debit_amount),0) as debit_payment,coalesce(sum(loan_amount),0) as loan_payment,entity,currency,owner,0) + coalesce(sum(debit_amount),0) + coalesce(sum(loan_amount),0) as Total
from (
select credit_date,credit_amount,null as debit_date,null as debit_amount,null as loan_date,null as loan_amount,owner
from table1
union all
select null as credit_date,null as credit_amount,debit_amount,loan_date,loan_amount,owner
from table1
) t
group by coalesce(credit_date,loan_date),owner
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。