LINQ to SQL語句(3)之Count/Sum/Min/Max/Avg
摘要:這個系列的第三篇,講解Count/Sum/Min/Max/Avg操作符用法。
[1] Count/Sum講解[2] Min講解
[3] Max講解
[4] Average和Aggregate講解
系列文章導航:
LINQ to SQL語句(2)之Select/Distinct
LINQ to SQL語句(3)之Count/Sum/Min/Max/Avg
LINQ to SQL語句(6)之Group By/Having
LINQ to SQL語句(7)之Exists/In/Any/All/Contains
LINQ to SQL語句(8)之Concat/Union/Intersect/Except
LINQ to SQL語句(9)之Top/Bottom和Paging和SqlMethods
LINQ to SQL語句(12)之Delete和使用Attach
LINQ to SQL語句(14)之Null語義和DateTime
LINQ to SQL語句(19)之ADO.NET與LINQ to SQL
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);
全站熱搜