【高分在线急等】一个查询SQL和Linq的简单问题

Transitional 2013-07-24 09:34:56
-----------------Sqlserver表数据user--------------------------
表结构:
ID UserName CreateDate
1 James 2010-12-01
2 James 2010-12-01

3 James 2010-12-02
4 Beans 2010-12-02
5 Beans 2010-12-02
6 Beans 2010-12-02
7 Beans 2010-12-02
8 Jsewt 2010-12-02
9 Jsewt 2010-12-02
10 Jsewt 2010-12-02
11 Jsewt 2010-12-02

------------------需要结果--------------------------------
CreateDate:2010/12/01(日期分组) UserCount:1(1个用户) ViewCount:2 (总共2个访问)
CreateDate:2010/12/02(日期分组) UserCount:3(3个用户) ViewCount:8 (总共8个访问)

---------未实现的代码(差一个地方)-----------------------

//query里面是整个user的数据

//假设日期是2010/12/02,数据都已经按CreateDate分好了,就是UserCount这里不知道怎么写

var result = from p in query
group p by p.CreateDate into g
select new
{
g.Key,//这里是按日期分组的 2010/12/02(结果对)
ViewCount = g.Count()//这里是2010/12/02访问总数 8 (结果对)
UserCount =//这里怎么去除重复,然后统计结果为 3(怎么求出3??)
};
...全文
86 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2013-07-25
  • 打赏
  • 举报
回复
var result = from p in query
             group p by p.CreateDate into g
              select new
              {
                     g.Key,
                     ViewCount = g.Count(),
    		     UserCount =g.Select(x=>x.UserName).Distinct()
               };
EnForGrass 2013-07-24
  • 打赏
  • 举报
回复
试试 UserCount =g.GroupBy(x=>x.UserName).Count()

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧