我有以下txn_table表:
Code Category Date TicketRevenue SnackRevenue BeverageRevenue
A11 AA 8/14 100 80 60
AT201 BB 8/19 300 150 100
AT201 NULL 8/19 50 50 40
我想获取数据,以便显示收入列的总和,按列列出:代码。如果类别列对于具有相同code
的行之一具有NULL(例如,2个AT201条目中的类别不同),我希望在该点中分配BB(非空)值。对于每个代码,类别只能有两个可能的值,即非NULL和空值。
示例布局:
Code Category Date TicketRevenue SnackRevenue BeverageRevenue
AMC AA 8/14 100 80 60
AT201 BB 8/19 350 200 140
我知道如何在不区分时添加空值但是可能会在那里获得非空值吗?
select Code, if(count(distinct Category)=1, Category, NULL), Date,sum(TicketRevenue),sum(SnackRevenue), sum(BeverageRevenue)
from txn_table
group by Code
参考:已从此question 借用了值和查询
答案 0 :(得分:1)
您可以使用max
(或min
)从给定的列或表达式返回最大非空值。
select Code,
max(Category),
date,
sum(TicketRevenue),
sum(SnackRevenue),
sum(BeverageRevenue)
from txn_table
group by Code