C# Linq to SQL — Group by

需求是需要统计数据库中表某一列的总数量,同时以List的形式返回到UI层。

Linq to SQL中的Group by用法如下:

IList<Unit.HandleCountClass> result;

result = (from a in db.handleinfo_users
             group a by a.han_Server into g
             select new HandleCountClass
              {
                    type = g.Key,
                    Handlecount = g.Count()
               }).ToList();

<补充说明>
1、返回的格式是List,它的参数形式是某个对象,但由于是统计Count()后的总数量,现有的对象类中没有可以满足的,所以我在Unit共用层定义一个HandleCountClass的类,类的结构代码会在后面进行介绍。

2、g.key指的就是Group by的字段名,如在我的这个例子当中,就是han_Server字段。

HandleCountClass类:

    public class HandleCountClass
    {
        public string type;
        public int Handlecount;
    }

相应的SQL代码如下:

select han_Server,COUNT(han_Server) as Servercount from handleinfo_users
group by han_Server
时间: 2024-10-18 13:34:15

C# Linq to SQL — Group by的相关文章

LINQ TO SQL ——Group by

原文:LINQ TO SQL --Group by 分组在SQL中应用的十分普遍,在查询,统计时都有可能会用到它.LINQ TO SQL中同样具备group的功能,这篇我来讲下LINQ TO SQL中关于group的用法. 说明: 1:group 不一定要用到多表查询中,单表查询也是可以的. 2:基本语法: 1>:group 分组后要取的字段或者是对象; 2>:by 分组对象,可以是一列也可以是多列: 3>:into 结果集对象. 3:group的分类,这里分为单列分组,和多列分组.  

Linq to SQL -- Group By、Having和Exists、In、Any、All、Contains

Group By/Having操作符 适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式: var q = from p in db.Products group p by p.CategoryID into g select g; 语句描述:使用Group By按CategoryID划分产品. 说明:from p in db.Products 表示从表中将产品对象取出来.group p by p.CategoryID i

LINQ系列:LINQ to SQL Group by/Having分组

1. 简单形式 var expr = from p in context.Products group p by p.CategoryID into g select g; foreach (var item in expr) { Console.WriteLine(item.Key); foreach (var p in item) { Console.WriteLine("{0}-{1}", p.ProductID, p.ProductName); } } SELECT [Proj

LINQ to SQL 系列五 grouping having

在linq to sql中grouping很简单.很灵活,但是如果不注意则会中了Microsoft的糖衣炮弹. 本文使用的数据模型如下图: 1. 用linq to sql写一个最简单的group语句:查询Students表并按ClassID分组,输出每个班级的学生数.下面的代码是糖衣版. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 static void Main(string[] args) {     using (var

linq to sql (Group By/Having/Count/Sum/Min/Max/Avg操作符) (转帖)

http://wenku.baidu.com/link?url=2RsCun4Mum1SLbh-LHYZpTmGFMiEukrWAoJGKGpkiHKHeafJcx2y-HVttNMb1BqJpNdwaOpCflaajFY6k36IoCH_D82bk2ccu468uzDRXvG 基于LINQ+to+Entity数据访问技术的应用研究 Group By/Having操作符 适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式:

LINQ to SQL语句(6)之Group By/Having

Group By/Having操作符 适用场景:分组数据,为我们查找数据缩小 范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分 组:延迟 1.简单形式: var q = from p in db.Products group p by p.CategoryID into g select g; 语句描述:使用Group By按CategoryID划分产品. 说 明:from p in db.Products 表示从表中将产品对象取出来.group p by p.CategoryI

LinQ to SQL 及 non-LinQ方式实现Group的Performance对比

拥有476550数据的一张数据表.使用其中的某个字段分组,然后按该字段进行排序.该需求分别使用LinQ to SQL和non-LinQ的方式实现,然后来看一下performance对比. LinQ way from p in context.Part_Part group p by p.FunctionGroup into groupedPs orderby groupedPs.Key select groupedPs LinQ way for group non-LinQ way var re

linq to sql (Group By/Having/Count/Sum/Min/Max/Avg操作符)

Group By/Having操作符 适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式: var q = from p in db.Products group p by p.CategoryID into g select g; 语句描述:使用Group By按CategoryID划分产品. 说明:from p in db.Products 表示从表中将产品对象取出来.group p by p.CategoryID i

C# Linq to sql 实现 group by 统计多字段 返回多字段

Linq to sql 使用group by 统计多个字段,然后返回多个字段的值,话不多说,直接上例子: var wflist = from u in db.TWelFare where u.fy_no == fy_no orderby u.we_no group u by new { weno = u.we_no, wename = u.we_name } into g select new { g.Key.weno, g.Key.wename }; 结果就是根据we_no和we_name的统