当前位置: 首页 > 编程语言 > .NET综合 > 正文

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

时间:2010-12-11 博客园 李永京

[1] Count/Sum讲解

[2] Min讲解

[3] Max讲解

[4] Average和Aggregate讲解

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);