này là khá đơn giản nhưng tôi đang ở một mất mát: Với kiểu này tập hợp dữ liệu:LINQ với groupby và đếm
UserInfo(name, metric, day, other_metric)
và tập dữ liệu mẫu này:
joe 1 01/01/2011 5
jane 0 01/02/2011 9
john 2 01/03/2011 0
jim 3 01/04/2011 1
jean 1 01/05/2011 3
jill 2 01/06/2011 5
jeb 0 01/07/2011 3
jenn 0 01/08/2011 7
tôi d muốn truy xuất một bảng liệt kê các số liệu theo thứ tự (0,1,2,3 ..) với tổng số lần đếm xảy ra. Vì vậy, từ bộ này, bạn muốn kết thúc với:
0 3
1 2
2 2
3 1
Tôi đang phải vật lộn với cú pháp LINQ nhưng đang bị mắc kẹt trên nơi để đặt một groupby và đếm .... bất kỳ sự giúp đỡ ??
Bài chỉnh sửa: Tôi chưa bao giờ có thể nhận được câu trả lời đã đăng để làm việc vì họ luôn trả về một bản ghi với số lượng các số đếm khác nhau. Tuy nhiên, tôi đã có thể tổng hợp một ví dụ LINQ to SQL đã hoạt động:
var pl = from r in info
orderby r.metric
group r by r.metric into grp
select new { key = grp.Key, cnt = grp.Count()};
Kết quả này cho tôi một bộ hồ sơ được đặt hàng với 'số liệu' và số lượng người dùng được liên kết với mỗi số liệu. Tôi rõ ràng mới cho LINQ nói chung và mắt chưa được đào tạo của tôi cách tiếp cận này có vẻ rất giống với cách tiếp cận LINQ tinh khiết nhưng đã cho tôi một câu trả lời khác nhau.
Có, nhưng lời giải thích của jimmy đã giúp tôi nhiều hơn thế. Tuy nhiên tôi chưa bao giờ có thể lấy ví dụ của mình để làm việc nhưng nó đã dẫn tôi theo một hướng mới. – Gio