使用mysql从最近12个月获取数据

某人

我的表中有以下数据结构:

id member_from member_till
1  2014/03/01  2014/05/18
2  2014/01/09  2014/08/13
...

如何获得过去12个月中按月分组的活跃成员数?

前任:

...
2014/12/01,5
2015/01/01,12

作为未来的发展,是否可以将每个月的第一天和最后一天的平均值进行计数?

托斯滕·凯特纳

首先,您需要最近十二个月。然后外部加入成员,并计算月份在成员资格范围内的成员。

select 
  date_format(all_months.someday, '%Y %m') as mymonth,
  count(membership.member_from) as members
from
(
  select current_date as someday
  union all
  select date_add(current_date, interval -1 month)
  union all
  select date_add(current_date, interval -2 month)
  union all
  select date_add(current_date, interval -3 month)
  union all
  select date_add(current_date, interval -4 month)
  union all
  select date_add(current_date, interval -5 month)
  union all
  select date_add(current_date, interval -6 month)
  union all
  select date_add(current_date, interval -7 month)
  union all
  select date_add(current_date, interval -8 month)
  union all
  select date_add(current_date, interval -9 month)
  union all
  select date_add(current_date, interval -10 month)
  union all
  select date_add(current_date, interval -11 month)
) all_months
left join membership
  on date_format(all_months.someday, '%Y %m')
     between
      date_format(membership.member_from, '%Y %m') 
     and
      date_format(membership.member_till, '%Y %m')
group by date_format(all_months.someday, '%Y %m');

SQL提琴:http ://www.sqlfiddle.com/#!2 / 6dc5a /10

关于您将来的要求:您可以两次加入会员表,一次在一个月的第一次为会员,一次在该月的最后一次(失去那些仅在一个月中的某些天参加的人)。然后将两个计数相加并除以二。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

最近12个月使用Javascript

来自分类Dev

SQL查询以获取最近3个月的数据

来自分类Dev

最近12个月如何列出

来自分类Dev

尝试获取最近三个月的数据

来自分类Dev

MySQL最近12个月的月度销售,包括无月销售

来自分类Dev

动态获取最近三个月

来自分类Dev

如何从sql表中获取最近3个月的数据

来自分类Dev

获取最近3个月的日期选择

来自分类Dev

计算每个月最近12个月的平均值?

来自分类Dev

获取Array中最近6个月的名称

来自分类Dev

Delphi&SQLite:获取最近12个月每月的记录数

来自分类Dev

最近12个月的SQL总和

来自分类Dev

最近一个月的子集数据

来自分类Dev

根据最近3个月的数据汇总

来自分类Dev

用户使用Twitter API如何获取最近三个月以来的推文

来自分类Dev

在rails 2.3.8中查找最近12个月的记录

来自分类Dev

生成最近12个月的结束日期

来自分类Dev

在Postgres中从Db获取最近12个月的数据以及年份

来自分类Dev

SQL Server:将SELECT限制为仅获取最近4周/ 1个月的数据

来自分类Dev

PHP:以格式月份年份的形式获取最近6个月的数据

来自分类Dev

最近13个月的数据

来自分类Dev

最近12个月如何列出

来自分类Dev

使用php从当前月份获取最近3个月

来自分类Dev

hql查询以获取最近1个月的记录

来自分类Dev

如何在sql中选择最近的12个月?

来自分类Dev

如何在单个查询中获取最近三个月的数据

来自分类Dev

Oracle SQL-最近12个月的数据

来自分类Dev

Laravel-最近24小时,1周或1个月获取数据

来自分类Dev

如何在laravel中按月获取过去12个月的用户登录数据