Как посчитать сумму сумм в mysql? Т.е у меня есть запрос
`SELECT SUM(Prstoim)/COUNT(*), Yeardoc FROM table.dbf Where country IN ('Россия', 'Германия', 'Италия', 'Нидерланды', 'Япония') Group BY yeardoc INTO cursor test`
Он считает среднюю суммарную стоимость приборов по странам по годам. Но он считает таким образом, что если например в России суммарная стоимость 1000 и 20 приборов, а в Германии суммарная стоимость 2000 и 13 приборов, то он сначала считает суммарные стоимости в обоих странах (3000) и суммарное кол-во приборов(33) и после находит среднюю стоимость. А как можно найти сумму сумм, т.е чтобы сначала он посчитал в России, т.е 1000/20, после в германии 3000/13 и сложил две суммы?
Вам надо использовать CTE. (заранее извиняюсь, если немного в синтаксе напутал, в основном имею дело с mssql)
WITH testCTE (country, av, yeardoc) as
(SELECT
country,
SUM(Prstoim)/COUNT(*) as av,
Yeardoc
FROM table.dbf
Where country IN ('Россия', 'Германия', 'Италия', 'Нидерланды', 'Япония')
Group BY yeardoc, country)
SELECT
SUM(av)
FROM testCTE
Сначала в CTE вы получаете набор данных, где для каждой страны и года посчитано значение SUM(Prstoim)/COUNT(*), а затем получаете общую сумму, суммируя данные из предварительного набора.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей