MySQL条件选择2个字段中的1个,然后按2个字段的组合分组


MySQL conditional select 1 of 2 fields, then group by a combination of the 2 fields

我对MySQL查询中的条件语句有点陌生,我想知道是否有人可以帮助我解决以下问题?

我有以下表格:

Company | Billing_State | Delivery_State | Revenue

如果公司名称等于'XYZ',我如何有条件地选择计费状态,如果不等于'XYZ',我如何选择交付状态——然后按状态分组,不管它是计费状态还是交付状态?假设是为了汇总美国各州的销售收入报告。

您要查找的内容如下:

select if(company = 'XYZ',billing_state,delivery_state), sum(revenue)
from companies
group by if(company = 'XYZ',billing_state,delivery_state)