我希望从表中创建按天和客户ID的摘要/汇总(表正在从多个来源更新)。
对于每个客户ID和交易日期,我正在寻找在该组合的该列中的最小值,最大值,总和或第一个非空值。我没有最小,最大和总和的问题,但是正在寻找有关如何最好地处理列中第一个非null值的建议。
我的桌子的外观示例:
Cust ID Trans Date Housing Housing $ Retail Retail $ Arrival
123 1/1/2019 test1 $500.00 NULL NULL 1/1/2019
123 1/1/2019 NULL NULL product1 $15.00 NULL
1235 5/10/2019 test2 $1,000.00 NULL NULL 5/10/2019
1234 10/15/2019 test2 $1,000.00 NULL NULL 10/15/2019
1234 10/15/2019 NULL NULL product2 $25.00 NULL
我正在寻找的结果:
123 1/1/2019 test1 $500.00 product1 $15.00 1/1/2019
1235 5/10/2019 test2 $1,000.00 NULL NULL 5/10/2019
1234 10/15/2019 test2 $1,000.00 product2 $25.00 10/15/2019
答案 0 :(得分:0)
SQL表表示无序集。列中没有“第一个值”-NULL
或其他方式-除非列中指定顺序。
但是,对于您的结果集,简单的聚合似乎已足够:
select CustID, TransDate, max(Housing), max(Housing$), max(Retail), max(Retail$), max(Arrival)
from t
group by CustID, TransDate;