Пример SQL-запроса для расчёта остатков в денежной форме в MySQL: 1
SELECT( (SELECT SUM(`количество` * `цена`) AS `сумма` FROM `покупка` WHERE ...) - (SELECT SUM(`количество` * `цена`) AS `сумма` FROM `продажа` WHERE ...) ) AS `остаток`< 1/code>
В этом запросе из суммы, потраченной на закупку, вычитают сумму, полученную с продажи. 1
Также для расчёта кумулятивной суммы в MySQL можно использовать сессионные переменные. 4 Например, пример запроса для таблицы sales
, содержащей столбцы id
и amount
: 4
SELECT id, amount, @total := @total + amount AS running_total FROM sales, (SELECT @total := 0) AS var ORDER BY id;
В этом запросе переменная @total
увеличивается на значение из столбца amount
на каждой строке, формируя кумулятивную сумму с сортировкой по id
. 4