多个

时间:2016-03-22 10:14:42

标签: mysql sql select group-by

我不确定这是否具体是一组问题,因为我已尝试将其分组为多列。基本问题是这样的表:

enter image description here

我想得到不同国家/地区的订单total_price的总和,但是按order_id分组。所以对于法国来说,total_price的总和应该是8000,因为其中两行是同一个订单。我的sql显然是错的,因为我没有得到这个。

SELECT sum(total_price) as total_price_per_country
FROM cars
WHERE (country IN ('France'))
group by order_id, country;

2 个答案:

答案 0 :(得分:0)

不,GROUP BY不会让你这么做。如果您是GROUP BY国家/地区,则每个国家/地区会获得一行。

如果没有第二个查询,就无法做到这一点,所以它必须是这样的:

SELECT *, (SELECT SUM(total_price) FROM cars AS c2 WHERE c2.country = cars.country) AS total_price_per_country
FROM cars

(表格的第二个副本INNER JOIN也可以。)

答案 1 :(得分:0)

select sum(total_price) from cars where country = 'France' group by order_id

尝试以上查询