LINQ的GroupBy怎么让数量为零的也查询出来。

qq_28503747 2016-12-26 03:38:31
RT。
...全文
1481 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hello_restart 2020-05-13
  • 打赏
  • 举报
回复
你这边相当于表一是主表,表二是连接表(包含需要groupby)的字段,

from a in 表一
join b in 表二
on a.关联字段 equals b.关联字段
group b by b.分组字段 into c
from d in c.DefaultIfEmpty()
select new
{
...
};
相当于楼上说的left join
正怒月神 2020-05-09
  • 打赏
  • 举报
回复
引用 5 楼 以专业开发人员为伍 的回复:
[quote=引用 2 楼 qq_28503747 的回复:] [quote=引用 1 楼 Hello_Ge 的回复:] GroupBy是对数据分组,没有的分查?
我通过表一的字段来对表二进行GROUP BY 数量为零的就让count为零,这样的效果用GroupBy能办到吗?[/quote] 先明白 inner join 跟 left join 查询在 Linq 中的区别。[/quote] 正解。
  • 打赏
  • 举报
回复
循环对照下被,既然你说想把数量为零得分组取出来,说明分组得类型你是已知的,肯定是存在一张表里,那么你循环一下已知得表group by一下得数据,然后any判断,如果true就不add为零这个分组,如果false就add为零这个分组
  • 打赏
  • 举报
回复
引用 2 楼 qq_28503747 的回复:
[quote=引用 1 楼 Hello_Ge 的回复:] GroupBy是对数据分组,没有的分查?
我通过表一的字段来对表二进行GROUP BY 数量为零的就让count为零,这样的效果用GroupBy能办到吗?[/quote] 先明白 inner join 跟 left join 查询在 Linq 中的区别。
  • 打赏
  • 举报
回复
引用 2 楼 qq_28503747 的回复:
[quote=引用 1 楼 Hello_Ge 的回复:] GroupBy是对数据分组,没有的分查?
我通过表一的字段来对表二进行GROUP BY 数量为零的就让count为零,这样的效果用GroupBy能办到吗?[/quote] GROUP BY只能对存在的数据分组,count为零,就是没有数据存在,据我所知是没有办法的,sql很久没写了,你等别人回答吧
qq_28503747 2016-12-26
  • 打赏
  • 举报
回复
引用 1 楼 Hello_Ge 的回复:
GroupBy是对数据分组,没有的分查?
我通过表一的字段来对表二进行GROUP BY 数量为零的就让count为零,这样的效果用GroupBy能办到吗?
  • 打赏
  • 举报
回复
GroupBy是对数据分组,没有的分查?

8,497

社区成员

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

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