下面的用户数据统计该如何进行?


例如有两张表:
用户表 user,其中有字段 user_id,create_time
发帖表 post, 其中有字段 post_id,user_id,post_time

我想统计:
在 2014-06-15 00:00:00 前注册,并且在 2014-06-15 00:00:00 之前没有发表过帖子,并且在 2014-06-15 00:00:00 ~ 2014-06-20 23:59:59 之间发表过帖子的这批用户,在 2014-06-21 00:00:00 之后继续发表帖子和停止发帖的用户数量、发帖数量是多少?

该如何统计呢,有什么方便的统计工具吗?

数据分析 大数据 mysql 数据统计

keriu44 10 years, 5 months ago

C# linq

var users = user.Where(t => 
t.create_time < DateTime.Parser("2014-06-15 00:00:00") &&
!t.post.Any(p => p.post_time < DateTime.Parser("2014-06-15 00:00:00")) &&
t.post.Any(p => p.post_time < DateTime.Parser("2014-06-20 23:59:59") && p.post_time > DateTime.Parser("2014-06-15 00:00:00")) &&
t.post.Any(p => p.post_time > DateTime.Parser("2014-06-21 00:00:00"));

int count = users.Count();
int post_count = users.Sum(t => t.post.Count());
皮卡丘之怒 answered 10 years, 5 months ago

Your Answer