Disclaimer: SQL позволяет собирать данные множеством способов, если считаете что приведенные в статье запросы можно улучшить, оставьте соответсвующий комментарий :) P.S. в статье запросы написаны на postgresql Итак, для начала ознакомимся с предметной областью У нас есть маленький магазичник, но довольно проходной, потому что торгует всем, начиная от ПИВА и заканчивая ВОДКОЙ… Владельцу понадобилось узнать, сколько людей заходит в магазин и в какое время, чтобы скоординировать смены кассиров и поставки...
В Oracle SQL есть замечательный класс аналитических функций. Генератор данных и задача Предположим, у нас есть некая последовательность значений. Генерируем ее с помощью иерархического запроса: select level as x
from dual
connect by level <= 5
;
1
2
3
4
5 Теперь мы хотели бы посчитать нарастающий итог, т.е. на каждой строке получить сумму всех предыдущих. Эта задача актуальна, например, для визуализации динамики суммарной выручки магазина за отчетный период по зафиксированным значениям дневной выручки...