mysql - 获取 mysql 表中按月和年分组的行总数

标签 mysql date count group-by sum

我想创建一些统计数据,并希望将它们放在按月和年分组的数组中。

获得一个带有 user_id 列的 MySQL table_users。 我想建立一个 mysql 查询来列出每个月末我们总共有多少成员。查询的结果应该是:

 Year:   Month:    Members:
 --------------------------
 2014     12        11345
 2015      1        17939
 2015      2        25003
 2015      3        32667

还有一个列user_signupdate,其中包含添加 user_id 时的 UNIX 时间戳。到目前为止,无论我尝试过什么,我都只能得到 user_id 的增长情况,但我想获得每个月和每年的所有 user_id 的总数。

是否可以仅使用一个 MySQL 查询来对其进行计数和分组?

最佳答案

以下代码将执行简单的算术计算以生成成员运行总计。请参阅SQL Fiddle demo .

select 
t1.year,
t1.month,
(@rtotal := @rtotal + t1.members) AS members
from 
(select year(user_signupdate) as year, month(user_signupdate) as month, count(user_id) as members
from table_users
group by year(user_signupdate), month(user_signupdate)
order by year(user_signupdate), month(user_signupdate)) as t1, (Select @rtotal:=0) as rt

关于mysql - 获取 mysql 表中按月和年分组的行总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29586146/

相关文章:

c++ - Qt Sql 无法将变量绑定(bind)到 QSqlQuery 准备语句

java - Hibernate更新主键

mysql - Ruby on rails 连接问题

javascript - 向上计数定时器没有设置错误

r - 根据 R 中的某些条件计算值?

python - Pandas - 计算每个 id 中的值序列

mysql - 消除 MySQL 中的子查询

java - 如何在 Java 中将 UNIX 时间戳转换为 XMLGregorianCalendar 值?

php - php中另一种语言中不是今天的日期/月份的名称

python - 在 Pandas 中组合日期数据框和值数据框