var products = new[] {
new {SaleDate = new DateTime(2009,10,22), Product = "Soap", Quantity = 10},
new {SaleDate = new DateTime(2009,09,22), Product = "Pills", Quantity = 5},
new {SaleDate = new DateTime(2009,09,25), Product = "Soap", Quantity = 6},
new {SaleDate = new DateTime(2009,09,25), Product = "Pills", Quantity = 15}
};
var summary = from p in products
let k = new
{
//try this if you need a date field
// p.SaleDate.Date.AddDays(-1 *p.SaleDate.Day - 1)
Month = p.SaleDate.ToString("MM/yy"),
Product = p.Product
}
group p by k into t
select new
{
Month = t.Key.Month,
Product = t.Key.Product,
Qty = t.Sum(p => p.Quantity)
};
foreach (var item in summary)
Console.WriteLine(item);
//{ Month = 10/09, Product = Soap, Qty = 10 }
//{ Month = 09/09, Product = Pills, Qty = 20 }
//{ Month = 09/09, Product = Soap, Qty = 6 }
Nguồn
2009-10-08 23:31:47
Wow đó là cách tắt hiểu biết của tôi nếu LINQ .... Tôi sẽ cố gắng này sau đó trả lời .. cảm ơn – Luiscencio
Nếu bạn đang chạy điều này đối với SQL cho tôi biết làm thế nào nó đi. –
nó hoạt động khá tốt, chỉ cần sửa đổi một số chi tiết, tôi đang sử dụng nó chống lại một đối tượng datatabel, tôi sẽ thử lại sau SQL ... thans = 3 – Luiscencio