LINQ分組查詢統計

2022-02-23 23:59:10 字數 1420 閱讀 4012

var q =

from p in db.products

group p by p.categoryid into g

select new ;

語句描述:linq使用group by和count得到每個categoryid中產品的數量。

說明:先按categoryid歸類,取出categoryid值和各個分類產品的數量。

2.帶條件計數

var q =

from p in db.products

group p by p.categoryid into g

select new ;

語句描述:linq使用group by和count得到每個categoryid中斷貨產品的數量。

說明:先按categoryid歸類,取出categoryid值和各個分類產品的斷貨數量。 count函式裡,使用了lambda表示式,lambda表示式中的p,代表這個組裡的乙個元素或物件,即某乙個產品。

3.where限制

var q =

from p in db.products

group p by p.categoryid into g

where g.count()>= 10

select new ;

語句描述:根據產品的―id分組,查詢產品數量大於10的id和產品數量。這個示例在group by子句後使用where子句查詢所有至少有10種產品的類別。

說明:在翻譯成sql語句時,在最外層巢狀了where條件。

4.多列(multiple columns)

var categories =

from p in db.products

group p by new

into g

select new

; 語句描述:linq使用group by按categoryid和supplierid將產品分組。

說明:既按產品的分類,又按**商分類。在by後面,new出來乙個匿名類。這裡,key其實質是乙個類的物件,key包含兩個property:categoryid、supplierid。用g.key.categoryid可以遍歷categoryid的值。

5.表示式(expression)

var categories =

from p in db.products

group p by new into g

select g;

語句描述:linq使用group by返回兩個產品序列。第乙個序列包含單價大於10的產品。第二個序列包含單價小於或等於10的產品。

說明:按產品單價是否大於10分類。其結果分為兩類,大於的是一類,小於及等於為另一類。

linq 分組統計

好久不寫東東了,最近做linq分組統計的時候有點麻煩,用了一天時間才都到自己想要的效果,以下是entity framework的分組統計 iqueryablemm null entity.class1 ma new entity.class1 mm from t in context.subject...

Linq 分組統計

這裡介紹linq使用group by和count得到每個categoryid中產品的數量,linq使用group by和count得到每個categoryid中斷貨產品的數量等方面。學經常會遇到linq使用group by問題,這裡將介紹linq使用group by問題的解決方法。1.計數 var ...

Linq分組查詢

var pidlist from r in datalist 資料 group r by r.pid into g select new listtemp new listforeach var item in pidlist 使用group by 查詢指定的資料 比如在上述例子中 查詢 datal...