使用场景

类似于SQL中的聚合函数,用于统计数据,不延迟。如返回序列中的元素数量、求和、最小值、最大值、求平均值。

Count

说明:用于返回集合中元素的个数,返回Int类型,生成SQL语句为SELECT COUNT(*)  FROM

1.  简单形式

返回订单数量。

 var q = context.Orders.Count(); 

2. 条件形式

返回中客户为伦敦的数量。

var q = context.Customers.Count(p => p.City == "London");

LongCount

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

 var q = context.Customers.LongCount();

Sum

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

1. 简单形式

返回订单的总运费:

 var q = context.Orders.Select(n => n.Freight).Sum();

2. 映射形式

返回商品的订货总数:

 var q = context.Products.Sum(n => n.UnitsOnOrder);

Min

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

1. 简单形式

返回商品价格最低的元素:

 var q = context.Orders.Select(n => n.Freight).Min();

2. 映射形式

返回订单中运费最低的元素:

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

3. 组合形式

查找每个类别中单价最低的元素:

 var q = from p in context.Products
group p by p.CategoryID into t
select new
{
CategoryID = t.Key,
Cheapest = from p2 in t where p2.UnitPrice == t.Min(p3 => p3.UnitPrice) select p2
};

Max

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

1. 简单形式

返回商品单价最大的元素:

  var t = db.Products.Select(n => n.UnitPrice).Max();

2. 映射形式

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

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

Avg

 说明:用于返回集合中数值类型的平均值,集合应为数值类型集合。返回Double类型,不延迟。生成的SQL语句为SELECT AVG(...) FROM

1. 简单形式

返回商品价格的平均值:

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

2. 映射形式

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

3. 组合形式

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

 var t = from c in db.Products
group c by c.CategoryID into g
select new
{
CategoryID = g.Key,
Price = from p in g where p.UnitPrice >= g.Average(n => n.UnitPrice) select p
};

LINQ to SQL语句(2)Count/Sum/Min/Max/Avg操作符的更多相关文章

  1. linq语法之select distinct Count Sum Min Max Avg

    原文来自:http://www.50cms.com/Pages_13_72.aspx 本篇详细说明linq中的Select和Count/Sum/Min/Max/Avg等的用法. Select/Dist ...

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

    Group By/Having操作符 适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式: var q = from p in ...

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

    http://wenku.baidu.com/link?url=2RsCun4Mum1SLbh-LHYZpTmGFMiEukrWAoJGKGpkiHKHeafJcx2y-HVttNMb1BqJpNdw ...

  4. [转]linq to sql (Group By/Having/Count/Sum/Min/Max/Avg操作符)

    本文转自:http://www.cnblogs.com/jack-liang/archive/2011/03/22/1991554.html Group By/Having操作符 适用场景:分组数据, ...

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

    LINQ  to SQL 语句(3) 之  Count/Sum/Min/Max/Avg [1] Count/Sum 讲解 [2] Min 讲解 [3] Max 讲解 [4] Average 和 Agg ...

  6. LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg (转)

    Select/Distinct操作符 适用场景:o(∩_∩)o… 查询呗. 说明:和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也 ...

  7. [转]LINQ语句之Select/Distinct和Count/Sum/Min/Max/Avg

    在讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects.LINQ to DataSets.LINQ ...

  8. Linq-语句之Select/Distinct和Count/Sum/Min/Max/Avg

    上一篇讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ to SQL语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects.LINQ to Data ...

  9. LINQ to SQL Count/Sum/Min/Max/Avg Join

    public class Linq { MXSICEDataContext Db = new MXSICEDataContext(); // LINQ to SQL // Count/Sum/Min/ ...

随机推荐

  1. 数据库字符集与排序规则(Character Set And Collation)

    数据库需要适应各种语言和字符就需要支持不同的字符集(Character Set),每种字符集也有各自的排序规则(Collation). (注意:Collation原意为校对,校勘,但是根据实际使用场景 ...

  2. 【转载】IIS6、IIS7、IIS7.5设置拒绝一组计算机(IP段)访问网站的方法

    IIS6设置方法: 1.打开IIS管理器,右键点击网站,选择“属性” 2.把标签切换到“目录安全性”,点击“IP地址和域名限制”的编辑按钮,如下图: IP地址和域名限制 3.选择“授权访问”,然后点击 ...

  3. python --标准库 路径与文件 (os.path包, glob包)

    os.path包 os.path包主要是处理路径字符串,提取出有用信息. #coding:utf-8 import os.path path = 'D:\\Python7\\test\\data.tx ...

  4. 查看nginx的版本

    查看nginx的版本 -v 显示 nginx 的版本-V 显示 nginx 的版本,编译器版本和配置参数 # /app/nginx/sbin/nginx -v nginx version: nginx ...

  5. Android的xml/assets/raw资源使用具体解释

    一.assets/xml/raw资源介绍 1.assets资源文件夹:assets文件夹下存放的资源代表应用无法直接訪问的原生资源,这些文件将原封不动的存储到设备上,不会被编译为二进制形式,訪问方式是 ...

  6. nexus 配置

    1.下载 http://www.sonatype.org/nexus/go/  例如:nexus-2.11.4-01-bundle.tar.gz 2.解压 tar -xzvf nexus-2.11.4 ...

  7. 【Android】12.6 利用Intent实现记事本功能(NotePad)

    分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 这个例子演示如何实现一个简单的记事本功能. 该例子提前使用了后面章节将要介绍的SQLLite数据库. 二.示例-c ...

  8. C#趣味程序---爱因斯坦的台阶问题

    问题:设有一阶梯,每步跨2阶.最后余1阶.每步跨3阶.最后余2阶:每步跨5阶.最后余4阶:每步跨6阶.最后余5阶:每步跨7阶.刚好到阶顶.问共同拥有多少阶梯? using System; namesp ...

  9. 比特币交易本质--UTXO(Unspent Transaction Output)

    UTXO 代表 Unspent Transaction Output. Transaction 被简称为 TX,所以上面这个短语缩写为 UTXO. 现在的银行也好.信用卡也好.证券交易系统也好,互联网 ...

  10. URLDecoder: Incomplete trailing escape (%) pattern问题处理

    http://blog.csdn.net/yangbobo1992/article/details/10076335 _________________________________________ ...