今天在工作中遇到了一个需求 是这样的
有两张表 分别是
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))
本文介绍了一种SQL查询技巧,通过联表查询和分组统计的方法来获取用户基本信息及对应的礼物领取次数。具体实现了从两张表中提取用户名、用户邮箱,并统计每位用户的礼物领取数量。
891

被折叠的 条评论
为什么被折叠?



