mysql 按月累计统计数据
最近有个统计数据的需求:统计每月底累计注册用户数量,我们平时接触多的就是按月进行统计每月的数量,而不是进行累积。接下来我就使用用户变量实现这个需求。1.定义用户变量 select @变量名: 用户变量可以作用于当前整个连接,但是当当前连接断开后,其所定义的用户变量都会消失。用户变量使用如下(这里我们无须使用declare关键字进行定义,可以直接这样使用): select @变...
·
最近有个统计数据的需求:统计每月底累计注册用户数量,我们平时接触多的就是按月进行统计每月的数量,而不是进行累积。
接下来我就使用用户变量实现这个需求。
1.定义用户变量 select @变量名:
用户变量可以作用于当前整个连接,但是当当前连接断开后,其所定义的用户变量都会消失。用户变量使用如下(这里我们无须使用declare关键字进行定义,可以直接这样使用): select @变量名
对用户变量赋值有两种方式,一种是直接用"="号,另一种是用":="号。其区别在于使用set命令对用户变量进行赋值时,两种方式都可以使用;当使用select语句对用户变量进行赋值时,只能使用":="方式,因为在select语句中,"="号被看作是比较操作符。
SET @var := 0;
2.使用变量,进行按月累加统计:
SELECT gmt_create,amount,(@var := @var + amount) FROM (
SELECT DATE_FORMAT(gmt_create,'%Y-%m')gmt_create ,SUM(amount) amount
FROM borrow
GROUP BY DATE_FORMAT(gmt_create,'%Y-%m')
)a
3.运行结果:
更多推荐
已为社区贡献1条内容
所有评论(0)