[英]SQL query Multiple Sums and Groups
我有下表,其中有不同日期的多种菜肴
[Dishes]
Date | Dish_Id | Quantity | Price | Total
============================================================================
2016-09-09 00:00:00.000 5 1 50.00 50.00
2016-09-09 00:00:00.000 3 1 30.00 30.00
2016-09-10 00:00:00.000 10 1 100.00 100.00
2016-09-09 00:00:00.000 5 1 50.00 50.00
2016-09-09 00:00:00.000 7 1 70.00 70.00
2016-09-09 00:00:00.000 7 1 70.00 70.00
2016-09-09 00:00:00.000 3 1 30.00 30.00
2016-09-10 00:00:00.000 3 1 30.00 30.00
我想做的是一个SQL查询,它将结合每个唯一/不同的Dish_Id并求和其等效的Quantities和Total,但按照Date值分组,而不影响其每项价格,因此,如果在上面的表上运行查询,它将产生以下结果集:
[Result]
Date | Dish_Id | Quantity | Price | Total
============================================================================
2016-09-09 00:00:00.000 5 2 50.00 100.00
2016-09-09 00:00:00.000 3 2 30.00 60.00
2016-09-09 00:00:00.000 7 2 70.00 140.00
2016-09-10 00:00:00.000 10 1 100.00 100.00
2016-09-10 00:00:00.000 3 1 30.00 30.00
我确定GroupBy是正确的方法,但是我不确定如何对多个列进行sum()运算,而只是将groupby用于“日期”值而不影响“价格”
select Date, Dish_Id, sum(quantity), Price, Sum(Total)
from Dishes
group by Date, Price
编辑************现在感谢所有人使用
这个怎么样?
SELECT DATE
,dish_id
,sum(quantity) AS Quantity_Total
,sum(price * quantity) AS TotalPrice
FROM table1
GROUP BY DATE
,dish_id
参见此处的在线示例/沙盒http://rextester.com/OLAJ52246
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.