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 和 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);
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
};
Aggregate
where p2.UnitPrice > g.Average (p3 => p3.UnitPrice)
select p2
说明:根据输入的表达式获取聚合值;不延迟。即 是说:用一个种子值与当前元素通过指
定的函数来进行对比来遍历集合中的元素 ,符合条件的元素保留下来。如果没有指定种子
值的话,种子值默认为集合的第 一个元素。
LINQ to SQL 语句(3) 之 Count/Sum/Min/Max/Avg的更多相关文章
- LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg
适用场景:统计数据吧,比如统计一些数据的个数,求和,最小值,最大值,平均数. Count 说明:返回集合中的元素个数,返回INT类型:不延迟.生成SQL语句为:SELECT COUNT(*) FROM ...
- LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg (转)
Select/Distinct操作符 适用场景:o(∩_∩)o… 查询呗. 说明:和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也 ...
- LINQ to SQL Count/Sum/Min/Max/Avg Join
public class Linq { MXSICEDataContext Db = new MXSICEDataContext(); // LINQ to SQL // Count/Sum/Min/ ...
- [转]LINQ语句之Select/Distinct和Count/Sum/Min/Max/Avg
在讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects.LINQ to DataSets.LINQ ...
- JS中Float类型加减乘除 修复 JQ 操作 radio、checkbox 、select LINQ to SQL:Where、Select/Distinct LINQ to SQL Count/Sum/Min/Max/Avg Join
JS中Float类型加减乘除 修复 MXS&Vincene ─╄OvЁ &0000027─╄OvЁ MXS&Vincene MXS&Vincene ─╄Ov ...
- 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 ...
- LINQ Count/Sum/Min/Max/Avg
参考:http://www.cnblogs.com/peida/archive/2008/08/11/1263384.html Count/Sum/Min/Max/Avg用于统计数据,比如统计一些数据 ...
- Linq-语句之Select/Distinct和Count/Sum/Min/Max/Avg
上一篇讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ to SQL语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects.LINQ to Data ...
- LINQ to SQL语句(2)Count/Sum/Min/Max/Avg操作符
使用场景 类似于SQL中的聚合函数,用于统计数据,不延迟.如返回序列中的元素数量.求和.最小值.最大值.求平均值. Count 说明:用于返回集合中元素的个数,返回Int类型,生成SQL语句为SELE ...
随机推荐
- hdu 1861-游船出租
游船出租 Time Limit: 1 ...
- Android Fragment详解
一.什么是Fragment Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕要比手机的大得多,有更多的 ...
- sc7731 Android 5.1 Camera 学习之二 framework 到 HAL接口整理
前面已经分析过,Client端发起远程调用,而实际完成处理任务的,是Server端的 CameraClient 实例.远程client 和 server是两个不同的进程,它们使用binder作为通信工 ...
- CMSIS Example - Signal
/*---------------------------------------------------------------------------- * RL-ARM - RTX *----- ...
- IPv6 相关的工作简介
这里说明下,仅仅是IPv6在开发板上的相关的工作简介,没有很详细,都是自己一边积累,一边实践的.能帮助其他人最好,也算是给自己做个备忘录. 一.首先说下DHCPv6相关的.这里我使用的是DHCP6s. ...
- 用NDK编译lua库
Android.mk是这样的 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := lua LOCAL_SRC_FILE ...
- Swift学习笔记十一
类与结构体 Swift中,并不要求把自定义类或结构的接口和实现写在不同的文件中.你在一个文件中定义类或结构体,那么这个类或结构体的外部接口就自动可以在其他代码中使用了. 类和结构有很多相似和区别,相同 ...
- Effective C++笔记04:设计与声明
条款18:让接口easy被正确使用,不易被误用 1,好的接口非常easy被正确使用,不easy被误用.你应该在你的全部接口中努力达成这些性质. 2,"促进正使用"的办法包含接口的一 ...
- android之多媒体篇(二)
管理音频焦点 情景:当你的app隐退到后台,而其他也有播放能力的app浮现在前台,这个时候,你可能要暂停你原有app的播放功能,和解除监听Media Button,把控制权交给前台的APP. 这就需要 ...
- 生成html的几种方案
方案1: /// <summary > /// 传入URL返回网页的html代码 /// </summary > /// <param name=&q ...