我不确定这是否具体是一组问题,因为我已尝试将其分组为多列。基本问题是这样的表:
我想得到不同国家/地区的订单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;
答案 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
尝试以上查询