我有下表。
CustomerID Country company email invoice
01 USA A abc@gmail.com 100
02 USA B bng@yahoo.com 150
03 Canada C abc@gmail.com 100
04 Aus D bng@yahoo.com 150
我希望:
对于至少有两位客户使用yahoo作为电子邮件提供商的国家/地区,请显示这些国家/地区以及发票金额。 Sum应仅包含使用yahoo的客户的发票。 (按国家分组)
答案 0 :(得分:2)
只需按域过滤电子邮件,然后对计数至少为2的国家/地区进行汇总。
select country, sum(invoice) sum_of_invoice
from your_table
where email like '%@yahoo.com'
group by country
having count(*) >= 2;
如果您想进一步包含其他类似的域名@yahoo.co.uk
等,那么您可以在where子句中使用email like '%@yahoo.%'
。
如果您想获得该国家中至少有2个雅虎作为提供商的所有客户的发票总额,那么:
select country,
sum(invoice) sum_of_invoice
from your_table
group by country
having count(case when email like '%@yahoo.com' then 1 end) >= 2;