LINQ Count/Sum/Min/Max/Avg

來源:互聯網
上載者:User

標籤:

  參考: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.