![](/img/trans.png)
[英]Count non-null values in columns grouped by row type value from another column
[英]Msssql assign non null value when grouped by another column
我有以下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
我想获取数据,以便显示按column:code分组的Revenue列的总和。 如果类别列在具有相同code
的行之一中为NULL(例如,类别在2个AT201条目中有所不同),我希望在该位置分配一个BB(非空)值。 对于每个代码,类别只能具有两个可能的值,即Non-NULL和Null Value。
布局示例:
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
参考: 值和查询已从此问题中借用
您可以使用max
(或min
),它从给定的列或表达式返回最大非空值。
select Code,
max(Category),
date,
sum(TicketRevenue),
sum(SnackRevenue),
sum(BeverageRevenue)
from txn_table
group by Code
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.