LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg
来源:互联网 发布:jquery js下载文件 编辑:程序博客网 时间:2024/04/29 05:27
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语句(3)之Count/Sum/Min/Max/Avg
- LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg
- LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg
- LINQ体验(5)--LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- LINQ体验(5)--LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg (YJingLee's Blog)
- LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- linq to sql 用法 ----- count/sum/min/max/avg
- LINQ to SQL Count/Sum/Min/Max/Avg Join
- smartphone list样式菜单
- 统计excel行记录重复的时候可以在新的一列出现标识
- ORACLE的用户数,最赚钱的部门和一则旧闻
- 记一个问题
- 什么是程序员的优秀品质?
- LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg
- sitemesh的使用
- Struts2和Spring环境下action的单元测试
- 应用程序连接到 SQLServer 是运行 Windows Server 2003 服务器上时出现错误信息
- 数据库连接字串详解
- KMP算法实现
- [转] 动态获取当前屏幕中光标所在位置的颜色
- ISNULL()的正确用法
- Oracle数据库技巧:如何快速为200张以上的表增加2个相同的列