今天在工作中遇到了一个需求 是这样的
有两张表 分别是
user_info 用来存放用户基本信息
gift 存放用户获取的礼物
两张表之间以user_id进行关联
当用户每次领取礼物后 我们都会向gift表中插入一条记录
现在 我需要查到
用户名、用户邮箱以及每个用户共领取了几次礼物
说白了 就是要查出这样的结果集
好了 话不多说 先贴出sql 再来一步步分析
user_name,user_emil,sum(if(ISNULL(gift_id),0,1))
giftNum from user_info as a left join gift as b on a.user_id = b.user_id
GROUP BY a.user_id
首先 要查出这样的数据 我们要进行表联查然后按用户id分组这是肯定的
重点就在这啦,自行理解吧 sum(if(ISNULL(gift_id),0,1))