我有,多組列計數的LINQ
名單,MyList
,對象與領域:
string A;
string B;
概念上,這類似於在列A,B的兩列的SQL表
我試圖創建一個能夠產生這樣一個概念表中的三列的結果集這個T-SQL的LINQ表達式:
SELECT A, B, COUNT(B)
FROM T1
GROUP BY A, B
也就是說,如果我有一個表,如:
A B
----------
x g
x g
x g
x s
y g
y g
我希望:
A B COUNT(B)
-------------------------
x g 3
x s 1
y g 2
我最好的努力是這樣的:
var result = from MyObjs in MyList
group MyObjs by new { MyObjs.A, MyObjs.B } into g
select new { g.Key.A, g.Key.B, g.Key.B.Count() }
但伯爵出現返回B的總數,而不是每個多列組的B數。這怎麼解決?
要注意的關鍵問題是,你是不是真的計數B,你只是在計數(例如在SQL'count(1)'中也會工作)。這就是爲什麼你的回答直觀地不起作用。 NinjaNye雖然看起來有固定的解決方案。 :) – Chris