【MySQL】每日一题 -20200220

mysql> select * from saletypes;
+---------------+----------+--------+-----------+
| customer_name | province | city   | saletype  |
+---------------+----------+--------+-----------+
| 张三          | 湖北     | 武汉   | 低客单    |
| 李四          | 湖北     | 武汉   | 高客单    |
| 王五          | 湖北     | 武汉   | 高客单    |
| 赵六          | 湖南     | 岳阳   | 高客单    |
| 钱七          | 湖南     | 长沙   | 低客单    |
| 孙八          | 湖南     | 长沙   | 低客单    |
+---------------+----------+--------+-----------+
6 rows in set (0.00 sec)

据客单类别表统计出每个省份每个城市的低客单数和高客单数,如果某城市无低客单记录或高客单记录,其统计数为0

解法1:
mysql> select T.province,T.city,
    -> COALESCE(sum(case when T.saletype='低客单' then 1 else null end ),0) as low_num,
    -> COALESCE(sum(case when T.saletype='高客单' then 1 else null end ),0)as high_num
    -> from saletypes T
    -> group by T.province,T.city;
解法2:
select distinct T.province,T.city,
COALESCE(T1.low_num,0) as low_num ,
COALESCE(T2.high_num,0) as high_num
from saletypes T
left join 
(select province,city,
count(customer_name) as low_num
from saletypes
where saletype='低客单'
group by province,city )T1
on T.province=T1.province and T1.city=T1.city
left join (select province,city,
count(customer_name) as high_num
from saletypes
where saletype='高客单'
group by province,city) T2
on T.province=T2.province and T.city=T2.city;
结果
+----------+--------+---------+----------+
| province | city   | low_num | high_num |
+----------+--------+---------+----------+
| 湖北     | 武汉   |       1 |        2 |
| 湖南     | 岳阳   |       0 |        1 |
| 湖南     | 长沙   |       2 |        0 |
+----------+--------+---------+----------+
3 rows in set (0.00 sec)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 票据是商业活动中一种重要的支付方式,今天来讲讲票据法的相关概念。 总结: 从票据类别上来说,票据分为汇票、本票、支...
    NydiaPeng阅读 7,423评论 4 5
  • 偶然的一个机会,我发现了一个可以随意书写文字的软件——简书,没有多加考虑就下载了APP并注册登录了。 简洁的操作,...
    逍遥妞妞阅读 2,629评论 0 1
  • 2017年11月29日 星期三 阴 最近有点忙,做事有点急。早上做早饭时,把给儿子煎的饼一不小心煎糊了,心里...
    圈圈370阅读 1,310评论 0 0
  • 作者睢国奥 我的奶奶今年虽然都六十七岁了,但她的精神状态非常好,身体很健康。 估计在你睡的模模...
    蓝天白云1134阅读 2,299评论 0 4
  • 异地是最难熬也是最考验感情的一种恋爱状态。多少爱情因为异地徒增了许多不安猜忌最后没能走下去,但能坚持下来的那部分感...
    管钱钱阅读 2,900评论 0 2

友情链接更多精彩内容