c# - Sum and grouping multiple columns into one value in linq -
i have table fields:
id,sales1, sales2, sales3 1 25 15 15 1 10 7 3 2 8 11 9 3 10 5 7 3 22 9 4
i need filter table id , return sum of sales1 + sales2 + sales3. in mysql done
select (sum(sales1) + sum(sales2) + sum(sales3)) total id = 1 group id
but can't work in linq. can me this?
scratched in linqpad:
void main() { //since don't have suitable database @ hand //i'm emulating list var sales = new list<sale>() { new sale() {id = 1, sales1 = 25, sales2= 15, sales3= 15}, new sale() {id = 1, sales1 = 10, sales2= 7, sales3= 3}, new sale() {id = 2, sales1 = 8, sales2= 11, sales3= 9}, new sale() {id = 3, sales1 = 10, sales2= 5, sales3= 7}, new sale() {id = 3, sales1 = 22, sales2= 9, sales3= 4}, }; var filteredsales = sales.groupby (s => s.id)//need group able use .sum() //.where (s => s.key == 1) .select (s => new { id = s.key, sum = s.sum (x => x.sales1 + x.sales2 + x.sales3) }).dump(); //ignore dump. available in linqpad } class sale { public int id { get; set; } public int sales1 { get; set; } public int sales2 { get; set; } public int sales3 { get; set; } }
result:
id | sum 1 75 2 28 3 57
uncomment clause filter id. kind regards
Comments
Post a Comment