`
chungle
  • 浏览: 59998 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg

阅读更多

Count/Sum/Min/Max/Avg操作符

适用场景:统计数据吧,比如统计一些数据的个数,求和,最小值,最大值,平均数。

Count

说明:返回集合中的元素个数,返回INT类型;不延迟。生成SQL语句为:SELECT COUNT(*) FROM

1.简单形式:

得到数据库中客户的数量:

var q = db.Customers.Count();

2.带条件形式:

得到数据库中未断货产品的数量:

var q = db.Products.Count(p => !p.Discontinued);

LongCount

说明:返回集合中的元素个数,返回LONG类型;不延迟。对于元素个数较多的集合可视情况可以选用LongCount来统计元素个数,它返回long类型,比较精确。生成SQL语句为:SELECT COUNT_BIG(*) FROM

var q = db.Customers.LongCount();

Sum

说明:返回集合中数值类型元素之和,集合应为INT类型集合;不延迟。生成SQL语句为:SELECT SUM(…) FROM

1.简单形式:

得到所有订单的总运费:

var q = db.Orders.Select(o => o.Freight).Sum();

2.映射形式:

得到所有产品的订货总数:

var q = db.Products.Sum(p => p.UnitsOnOrder);

Min

说明:返回集合中元素的最小值;不延迟。生成SQL语句为:SELECT MIN(…) FROM

1.简单形式:

查找任意产品的最低单价:

var q = db.Products.Select(p => p.UnitPrice).Min();

2.映射形式:

查找任意订单的最低运费:

var q = db.Orders.Min(o => o.Freight);

3.元素:

查找每个类别中单价最低的产品:

var categories =
    from p in db.Products
    group p by p.CategoryID into g
    select new {
        CategoryID = g.Key,
        CheapestProducts =
            from p2 in g
            where p2.UnitPrice == g.Min(p3 => p3.UnitPrice)
            select p2
    };

Max

说明:返回集合中元素的最大值;不延迟。生成SQL语句为:SELECT MAX(…) FROM

1.简单形式:

查找任意雇员的最近雇用日期:

var q = db.Employees.Select(e => e.HireDate).Max();

2.映射形式:

查找任意产品的最大库存量:

var q = db.Products.Max(p => p.UnitsInStock);

3.元素:

查找每个类别中单价最高的产品:

var categories =
    from p in db.Products
    group p by p.CategoryID into g
    select new {
        g.Key,
        MostExpensiveProducts =
            from p2 in g
            where p2.UnitPrice == g.Max(p3 => p3.UnitPrice)
            select p2
    };

Average

说明:返回集合中的数值类型元素的平均值。集合应为数字类型集合,其返回值类型为double;不延迟。生成SQL语句为:SELECT AVG(…) FROM

1.简单形式:

得到所有订单的平均运费:

var q = db.Orders.Select(o => o.Freight).Average();

2.映射形式:

得到所有产品的平均单价:

var q = db.Products.Average(p => p.UnitPrice);

3.元素:

查找每个类别中单价高于该类别平均单价的产品:

var categories =
    from p in db.Products
    group p by p.CategoryID into g
    select new {
        g.Key, 
        ExpensiveProducts =
            from p2 in g
            where p2.UnitPrice > g.Average(p3 => p3.UnitPrice)
            select p2
    };

Aggregate

说明:根据输入的表达式获取聚合值;不延迟。即是说:用一个种子值与当前元素通过指定的函数来进行对比来遍历集合中的元素,符合条件的元素保留下来。如果没有指定种子值的话,种子值默认为集合的第一个元素。

 

 

 

分享到:
评论

相关推荐

    LINQ TO SQL 语法讲解 基本知识

    LINQ to SQL语句(1)之Where LINQ to SQL语句(2)之Select/Distinct LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg LINQ to SQL语句(4)之Join

    LINQ to SQL语句.docx

    三、 Linq to SQL 语句(3)之 Count/Sum/Min/Max/Avg Linq to SQL 语句还提供了多种聚合函数,包括 Count、Sum、Min、Max 和 Avg。 3.1 Count: Count 函数用于统计数据记录的数量,例如: ```csharp var count = ...

    LINQ_to_SQL语法及实例大全

    3. LINQ to SQL语句之Count/Sum/Min/Max/Avg:这部分内容介绍了如何对数据进行计数、求和、寻找最小值、最大值以及计算平均值。这些操作同样支持简单形式和带条件形式,其中映射形式和元素部分涉及到了更具体的数据...

    LINQ To SQL 语法及实例大全

    ### LINQ to SQL 语句(3) - Count/Sum/Min/Max/Avg 这些方法用于聚合操作,例如统计数量、求和、找到最小值、最大值和平均值。 1. **Count** 方法用于计算满足条件的元素数量。 2. **Sum** 方法计算指定列的总和。...

    linq to sql中文教程

    **Count/Sum/Min/Max/Avg** 这些聚合函数用于计算集合中的数值属性的总和、最小值、最大值、平均值和数量。可以用于简单的统计分析。 ```csharp int itemCount = (from item in db.Items select item).Count(); `...

    LINQ_TO_SQL 文档

    通过一系列文章,作者详细介绍了如何使用LINQ to SQL进行基础和高级查询操作,包括Where、Select、Distinct、Count、Sum、Min、Max、Avg、Join、Order By、Group By、Having、Exists、In、Any、All、Contains、Union...

    Linq-To-Sql语法大全

    LINQ to SQL 语句(3) - Count/Sum/Min/Max/Avg** 这些聚合函数用于统计或计算查询结果。 #### 3.1 Count: ```csharp int londonCustomersCount = customers.Count(c => c.City == "London"); ``` 返回符合条件的...

    LINQ_to_SQL语法及实例大全.doc

    LINQ to SQL 语句(3) - Count/Sum/Min/Max/Avg** 这些是聚合函数,用于计算集合的统计信息。 - **Count**:返回满足条件的元素数量: ```csharp var count = (from order in Orders where order.OrderDate > ...

    LINQ_to_SQL语法大全

    LINQ (Language Integrated Query) to SQL 是.NET框架中的一种技术,它允许开发人员使用C#或VB.NET等语言的查询语法直接对SQL Server数据库进行操作,而无需编写大量的SQL语句。这种技术将数据访问逻辑与业务逻辑...

    Linq_to_SQL

    3. Count/Sum/Min/Max/Avg操作 这些操作符分别用于统计数据集中的数量、求和、查找最小值、最大值以及平均值。它们有简单形式和带条件形式两种用法。 4. Join操作 Join操作符用来在两个数据源之间建立连接关系。它...

    LINQ_TO_SQL语法与实例大全

    **LINQ_TO_SQL**是一种用于Microsoft .NET Framework的技术,它允许开发人员使用面向对象的方式来进行数据库的操作,而无需编写复杂的SQL语句。LINQ_TO_SQL提供了一种简洁的方法来执行常见的数据操作,如查询、插入...

    典型SQL练习题

    4. **聚合函数**:如COUNT、SUM、AVG、MIN和MAX,用于对一组值进行计算。 5. **分组与分组函数**:GROUP BY用于将数据分组,HAVING用于对分组后的数据进行筛选。 6. **排序与分页**:ORDER BY用于排序结果,LIMIT...

    SQL语句及使用方法详解

    ### SQL语句及使用方法详解 #### 一、SQL简介 SQL(Structured Query Language)是一种用于管理和处理关系型数据库的标准语言。它不仅被广泛应用于多种数据库管理系统中,如SQL Server、Oracle、MySQL等,还因其...

Global site tag (gtag.js) - Google Analytics