MySQL |
您所在的位置:网站首页 › 悦动圈用户量统计表怎么设置的 › MySQL |
目录
问题描述 问题分析 解决方案 扩展方案 参考文章 问题描述 使用SQL统计某个表每天的总量和增量MySQL数据库 例:一个user表 有user_id自增主键,还有create_time用户创建时间 业务需求:让你统计每天用户的总量和相比前一天增加了多少用户量 问题分析解决方案 首先将每天的总量查出来 表中的时间一般为date_time类型 所以用个函数 SELECT DATE_FORMAT(create_time,'%Y-%m-%d') dd,COUNT(*) num FROM USER GROUP BY DATE_FORMAT(create_time,'%y-%m-%d')将上一个SQL作为一个统计表来计算增量 上SQL。 SELECT a.dd,a.num,SUM(lt.num) AS cum FROM (SELECT DATE_FORMAT(create_time,'%Y-%m-%d') dd,COUNT(*) num FROM USER GROUP BY DATE_FORMAT(create_time,'%y-%m-%d')) a JOIN (SELECT DATE_FORMAT(create_time,'%Y-%m-%d') dd,COUNT(*) num FROM USER GROUP BY DATE_FORMAT(create_time,'%y-%m-%d')) lt ON a.dd >= lt.dd GROUP BY dd
注: 时间戳格式 FROM_UNIXTIME(create_time,'%Y-%m-%d') as time日期格式 DATE_FORMAT(create_time,'%Y-%m-%d') as time 扩展方案创建MySQL数据库定时任务,每天数据更新,实现数据持久化,减少不必要的算力。 参考文章https://blog.csdn.net/a114469/article/details/80704590 https://blog.51cto.com/woniu123/1979970 https://www.cnblogs.com/manger/p/12574834.html https://www.cnblogs.com/javahr/p/9664203.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |