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

例如有两张表:
用户表 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 之后继续发表帖子和停止发帖的用户数量、发帖数量是多少?

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

阅读 3.5k
1 个回答

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());
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题