Điều này khá đơn giản nhưng tôi thua lỗ: Đưa ra loại dữ liệu này:
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 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 xảy ra. Vì vậy, từ bộ này, bạn kết thúc với:
0 3
1 2
2 2
3 1
Tôi đang vật lộn với cú pháp LINQ nhưng bị mắc kẹt ở đâu để đặt một nhóm và đếm .... bất kỳ trợ giúp ??
POST Chỉnh sửa: Tôi không bao giờ có thể làm cho các câu trả lời được đăng hoạt động vì chúng luôn trả về một bản ghi với số lượng khác nhau. Tuy nhiên, tôi đã có thể kết hợp một ví dụ LINQ với 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 từng hồ sơ. Tôi rõ ràng là người mới đối với LINQ nói chung và với con mắt chưa được huấn luyện 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 thuần túy nhưng đã cho tôi một câu trả lời khác.