1

私はそのようなものであるDBからデータを取得しています

ID - item ID  - State - type  - comment
===
1  - 158      -   0   - 114589- AAAAA    
2  - 158      -   1   - 108965- BBBBB    
3  - 159      -   1   - 100145- CCCCC    
4  - 159      -   0   - 100145- DDDDD    
5  - 159      -   1   - 114589- EEEEE    
6  - 162      -   0   - 100145- FFFFF    
7  - 162      -   1   - 108965- GGGGG

アイテム ID を選択した結果を返し、アイテム ID、状態、タイプ、コメントでグループ化された状態をカウントする必要があります

LINQを使用してこれを行うにはどうすればよいですか?

4

3 に答える 3

2
var grouped = from x in yourList
             group by new {x.itemID, x.type ,x.comment };

var counts = grouped.Select(x=>new {key = x.Key, count = x.Count());
于 2012-05-22T08:36:04.453 に答える
1

私はあなたが何を意味するのか分かりませんが、これはあなたが望むものだと思います:

var result = 
   from d in dataList
   group d by new { d.State, d.Type, d.Comment } in g
   select new { ItemId = g.Key, StateCount = g.Count(m => m.State) } 
   // I don't know what you mean with count the state. 
   // If you mean sum then you can use g.Sum(m => m.State) instead of g.Count(..)
于 2012-05-22T08:38:02.970 に答える
1
from DataRow row in dataSet
group row by new
{
    ID = (int) row["ID"],
    State = row["State"].ToString(),
    Type = (int)row["type"],
    Comment = row["comment"].ToString()
} into rowGroup
select new
{
    Key = rowGroup.Key,
    Count = rowGroup.Count()
};
于 2012-05-22T08:46:12.923 に答える