mysql case语句的使用【原创】

来源:互联网 时间:1970-01-01

表A:如图

表B:如图

想输出master_id下的status=6的order数量,想要输出的结果如下图:

一开始所采取的语句是:select count(a.order_id) from a left join b on a.order_id=b.order_id where b.status=6 group by a.master_id ,发现,当status=6的这条数据不存在是查询的结果就是空,并不是像想象中返回0。

用case语句就可以很好的解决这个问题:

select a.master_id,sum(case when b.status=6 then 1 else 0 end) as total_count from a inner join b on a.order_id=b.id group by a.master_id.

用case语句执行时,当满足status=6时就返回1否则返回0,用sum计算出符合条件的数量。

本文永久地址:http://blog.it985.com/14155.html

本文出自IT985博客 ,转载时请注明出处及相应链接。


相关阅读:
Top