Sql求助!统计所有用户Day1的num之和

有如下2个表要统计所有用户Day1的num之和
User表
id,name,created_at
Log表
id,uid,num,created_at
怎么统计用户Day1的所有Log表中的Num;

大致思路是Select sum(num) as aggregate from log where uid in (1,2,3) and created_at = 用户的创建日期。
求大佬解答!

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

不知道是不是我理解错了,感觉是users表和log表join一下,求和

SELECT sum(l.num) from log l
LEFT JOIN users u  on l.uid = u.id and l.created_at = u.created_at;
10个月前 评论
小猪蹄子 10个月前
神的孩子丶都在跳舞 (作者) 10个月前
小猪蹄子 10个月前
寞小陌 (楼主) 10个月前
讨论数量: 12

没看懂,什么叫用户Day1的所有 Log 表中的 Num之和

10个月前 评论
寞小陌 (楼主) 10个月前
小猪蹄子 (作者) 10个月前
寞小陌 (楼主) 10个月前
sanders

时效性要求不高的话可以跑个脚本逐个查出来累加一下,很多分析结果都是提前算好的或者准备好中间数据。

你这个又是全量用户,又是注册当天的统计,往往都应该是这一天过完了,用定时脚本凌晨统计前一天的数据,那样的话就没必要总想着一条sql搞定了。

这种需求最好能综合一下其他分析条件,这样好整理中间数据,利于最终的下钻分析。

10个月前 评论
寞小陌 (楼主) 10个月前

每个用户注册当天本人产生的log表num之和

select *,
(select sum(log.num) from log where log.uid = user.id and date(log.created_at) = date(user.created_at)) as num_all
 from user
10个月前 评论

不知道是不是我理解错了,感觉是users表和log表join一下,求和

SELECT sum(l.num) from log l
LEFT JOIN users u  on l.uid = u.id and l.created_at = u.created_at;
10个月前 评论
小猪蹄子 10个月前
神的孩子丶都在跳舞 (作者) 10个月前
小猪蹄子 10个月前
寞小陌 (楼主) 10个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!