求问LinQ里distinct后的count怎么写啊

poyosakura 2013-01-31 04:29:43
var a = from x in list
group x by x.postId into t
select new
{
t.Key,
pv = t.Count(),
uv = t.Distinct().Count()
}
如这段代码所示,
我想要其实是pv和uv,pv不去重,uv要去重。
但是我用这个代码,好像distinct不管用啊。两个数是一样的。
是不是要在distinct里面加一个字段限制?怎么加求解。
...全文
348 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxingmin 2013-01-31
  • 打赏
  • 举报
回复
uv = t.Distinct(a=>a.你要distinct的属性).Count();
poyosakura 2013-01-31
  • 打赏
  • 举报
回复
引用 4 楼 poyosakura 的回复:
引用 3 楼 hjywyj 的回复:var a = from x in list group x by x.postId into t select new { t.Key, pv = t.Count(), uv = t.Distinct(tt=>tt.XXX……
我改成这句 uv = t.GroupBy(tt => tt.userId).Count() OK啦! 谢谢。
poyosakura 2013-01-31
  • 打赏
  • 举报
回复
引用 3 楼 hjywyj 的回复:
var a = from x in list group x by x.postId into t select new { t.Key, pv = t.Count(), uv = t.Distinct(tt=>tt.XXX).Count() ……
这个写法我试了,但是Distinct()里面的那一段总是报错。
  • 打赏
  • 举报
回复
var a = from x in list group x by x.postId into t select new { t.Key, pv = t.Count(), uv = t.Distinct(tt=>tt.XXX).Count() }
poyosakura 2013-01-31
  • 打赏
  • 举报
回复
引用 1 楼 gxingmin 的回复:
你按postId 分组了,Distinct和没有Distinct肯定是一样的 你除非在Distinct()里单独再处理
嗯嗯,是的,我就是咨询distinct里该怎么写。
gxingmin 2013-01-31
  • 打赏
  • 举报
回复
你按postId 分组了,Distinct和没有Distinct肯定是一样的 你除非在Distinct()里单独再处理

8,493

社区成员

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

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