標籤:
參考:http://www.cnblogs.com/peida/archive/2008/08/11/1263384.html
Count/Sum/Min/Max/Avg用於統計資料,比如統計一些資料的個數,求和,最小值,最大值,平均數。
1.Count:返回集合中的元素個數,返回INT類型;不延遲。產生SQL語句為:SELECT COUNT(*) FROM
描述:獲得資料庫中顧客的數量
語句:
var q =
ndc.Customers.Count();
對應SQL語句:
SELECT COUNT(*) AS [value]
FROM [dbo].[Customers] AS [t0]
描述:帶條件的查詢,擷取資料庫中為停產的產品
語句:
var q = db.Products.Count(p => !p.Discontinued);
對應SQL語句:
SELECT COUNT(*) AS [value]
FROM [dbo].[Products] AS [t0]
WHERE NOT ([t0].[Discontinued] = 1)
2.LongCount
說明:返回集合中的元素個數,返回LONG類型;不延遲。對於元素個數較多的集合可視情況可以選用LongCount來統計元素個數,它返回long類型,比較精確。產生SQL語句為:SELECT COUNT_BIG(*) FROM
描述:獲得資料庫中顧客的數量
語句:
var q =
ndc.Customers.LongCount();
對應SQL語句:
SELECT COUNT_BIG(*) AS [value]
FROM [dbo].[Customers] AS [t0]
3.Sum
說明:返回集合中數實值型別元素之和,集合應為INT類型集合;不延遲。產生SQL語句為:SELECT SUM(…) FROM
1).簡單形式
描述:擷取所有訂單的總運費
語句:
var q = db.Orders.Select(o => o.Freight).Sum();
對應SQL:
SELECT SUM([t0].[Freight]) AS [value]
FROM [dbo].[Orders] AS [t0]
2).映射模式
描述:擷取產品UnitsOnOrder的數量
語句:
var q = db.Products.Sum(p => p.UnitsOnOrder);
對應SQL語句:
SELECT SUM(CONVERT(Int,[t0].[UnitsOnOrder])) AS [value]
FROM [dbo].[Products] AS [t0]
4.Min
說明:返回集合中元素的最小值;不延遲。產生SQL語句為:SELECT MIN(…) FROM
1).簡單形式
描述:找到產品的最低價格
語句:
var q = db.Products.Select(p => p.UnitPrice).Min();
對應SQL語句:
SELECT MIN([t0].[UnitPrice]) AS [value]
FROM [dbo].[Products] AS [t0]
2).映射形式
描述:從訂單中尋找最低運費
語句:
var q = db.Orders.Min(o => o.Freight);
對應SQL:
SELECT MIN([t0].[Freight]) AS [value]
FROM [dbo].[Orders] AS [t0]
5.Max
說明:返回集合中元素的最大值;不延遲。產生SQL語句為:SELECT MAX(…) FROM
1).簡單形式
描述:使用Max找到最新僱傭的僱員入職日期
語句:
var q = db.Employees.Select(e => e.HireDate).Max();
對應SQL:
SELECT MAX([t0].[HireDate]) AS [value]
FROM [dbo].[Employees] AS [t0]
2).映射形式
描述:用Max尋找產品中最大的UnitsInStock
語句:
var q = db.Products.Max(p => p.UnitsInStock);
對應SQL語句:
SELECT MAX([t0].[UnitsInStock]) AS [value]
FROM [dbo].[Products] AS [t0]
6.Average
說明:返回集合中的數實值型別元素的平均值。集合應為數字類型集合,其傳回值類型為double;不延遲。產生SQL語句為:SELECT AVG(…) FROM
1).簡單形式
描述:擷取訂單的平均運費
語句:
var q = db.Orders.Select(o => o.Freight).Average();
對應SQL:
SELECT AVG([t0].[Freight]) AS [value]
FROM [dbo].[Orders] AS [t0]
2).映射形式
描述:擷取產品的平均價格
語句:
var q = db.Products.Average(p => p.UnitPrice);
對應SQL:
SELECT AVG([t0].[UnitPrice]) AS [value]
FROM [dbo].[Products] AS [t0]
LINQ Count/Sum/Min/Max/Avg