MySQL 统计总数和各分组数量

需求1:统计出用户表中的总数和各个分组内的用户数量

SELECT
	COALESCE (`group_id`, '总数'),
	COUNT(`id`) '客户数'
FROM
	crm_user
GROUP BY
	group_id WITH ROLLUP

注:注意该用法场景:统计各个分组用户数量及总和。用户id、分组都为必填项,不存在为null的情况,所以使用 COALESCE函数,可以算出总数。

效果

 

补充备注:

 COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,

遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。


SELECT COALESCE(NULL,NULL,1,2);
--- 返回1

SELECT COALESCE(NULL,NULL,NULL,NULL);
--- 返回NULL

 

需求2 :统计出跟进表客户跟进次数,并更新到客户表中的跟进次数字段

-- 根据跟进表跟进次数以及最后跟进时间,更新uid为111用户客户表中的客户跟进次数
UPDATE crm_customer sc,crm_share_join s,
(SELECT
	cid,
	now_time,
	COALESCE (`cid`, '总数'),
	COUNT(`id`) num
FROM
	crm_follw
WHERE uid = 111
GROUP BY
	cid WITH ROLLUP) as a 
SET sc.follow_up = a.num,sc.follw_time = a.now_time 
WHERE s.cid = a.cid  AND s.beshare_uid = 111 AND sc.id = s.bid AND sc.follow_up = 0

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值