下面的用户数据统计该如何进行?
例如有两张表:
用户表 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 之后继续发表帖子和停止发帖的用户数量、发帖数量是多少?
该如何统计呢,有什么方便的统计工具吗?
keriu44
10 years, 4 months ago
Answers
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, 4 months ago