SQLite: итоги в таблице


Автор: Artix (user.su)

Задача:

Есть таблица платежей: дата, номер, сумма
Нужно при выводе добавить итоговую строку с единой суммой всех проводок.

Комментарий:

В MySQL/MariaDB/Percona для этого есть специальный модификатор (и это очень удобно):

SELECT 
    select_list
FROM 
    table_name
GROUP BY
    c1, c2, c3 WITH ROLLUP;

Однако, увы, в других базах его не всегда встретишь...


Решение "железобетонное":

SELECT 0 as R, PAY_SUM, PAY_NAME FROM PAYMENTS
UNION 
SELECT 1, SUM(PAY_SUM),'' FROM PAYMENTS
ORDER BY 1,3

* Сортировать можно по суммам: ORDER BY 1,2 или по наименованию: ORDER BY 1,3

* Вместо SUM() можно подставить любую итоговую функцию (MIN/MAX/AVG)

* R - вспомогательное поле для сортировки, его нужно будет скрыть

#