首页新闻找找看学习计划

一个关于 MySQL 统计的问题

0
悬赏园豆:10 [已解决问题] 解决于 2018-11-26 17:28

有一张 用户表,表里有一个 创建时间 的字段,每新增一个用户,都会根据当前时间给这个用户加上 创建时间

现在有这么一个需求,给定一个 yyyy-MM,查出在这个月份里,每一天的用户新增数以及在这一天的用户总数

关于 每一天的用户新增数,这个不难得出:

image.png-30.9kB

但如果我想再多加一列,这一列的数据是,这一天之前的用户总数(包含当天),sql 该如何写呢?求大神赐教。

Yoooshiki的主页 Yoooshiki | 初学一级 | 园豆:14
提问于:2018-11-21 15:02
< >
分享
最佳答案
2

基本的原理方法是差不多的,你可以参考一下

收获园豆:10
rqx | 菜鸟二级 |园豆:468 | 2018-11-21 16:05

还是有区别的,你的 Qry 是一个字段,是一个确切的数值,而我首先是需要根据时间分组,得出每一天的数据,然后需要使用 count(1) 得出这一天的新增用户数

Yoooshiki | 园豆:14 (初学一级) | 2018-11-21 17:04

@Yoooshiki:

原表TT,我查询了结果存入的FF表,扩展一个flag列,保存一个固定值,一样的效果,这个也可以用单sql处理,我只是为了测试用了一个中间表

rqx | 园豆:468 (菜鸟二级) | 2018-11-21 17:42
其他回答(1)
0

我觉得你这个“这一天的用户总数”字段如果经常用的话,新建一个表记录比较简单(但是,时间长了数据库的压力是很大的,维护量较大)
你是要在你这个表上新增加一列或者新建一个表的话,实现是比较简单的,你应该会,上边也提到了。
如果不创建的话,可以用嵌套查询,
给你举个简单的例子
select
from
(select

from Table) as A
注意在子查询的后面一定要指定子查询的结果,命名为A
把你的条件和表换上应该就可以了。
反正两种方法各有好处

一步棋 | 园豆:225 (菜鸟二级) | 2018-11-21 19:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册