天天看点

如何使用 GroupBy 计数-Count()

十年河东,十年河西,莫欺少年穷。

本节探讨的内容很简单,就是如果使用GroupBy计数

提供两种方法:第一:把查询的数据,转化为泛型,然后泛型分组计数。

                        第二:Linq语句直接分组计数

有如下范例:

SQL如下:

如何使用 GroupBy 计数-Count()
如何使用 GroupBy 计数-Count()

View Code

想要的结果为:

如何使用 GroupBy 计数-Count()

橘子:2  苹果:4  桃子:0  香蕉:3

那么用LINQ该如何实现呢?

首先新建返回的数据类型:

我们采用cateId 和 cateName 联合分组:

LINQ如下:

其实上述的LINQ相信大家都能很快写出来,但是我要强调的是Count('里面的参数')

也就是这一句:

如何使用 GroupBy 计数-Count()

加上这句筛选,就是为了防止将桃子统计为 1

这样调试的结果为:

如何使用 GroupBy 计数-Count()

以上便是第一种方法!

那么第二种方法也很简单,思路是:左连接查询数据,然后把查询的结果转化为泛型,最后利用泛型分组:

在此直接上代码了:

MSTS类变更如下:

LINQ查询变更如下:

调试实时信息如下:

如何使用 GroupBy 计数-Count()

从调试信息可以看出:因为桃子没被引用过,所以桃子对应的content为null

那么泛型的分组也和linq一样,都是要筛选这个字段的值

泛型分组如下:

@陈卧龙的博客