Цитата:
Сообщение от Ksandra
Огромное спасибо, что помогаете, но можете более подробно описать. Я просто ту тему проболела, а в конспектах мало что нашла(((
|
А что тут объяснять? Использованна агрегрегатная функция SUM и группировка через GROUP BY. Значение для группировки вычисляется динамически с помощью функции SubStr. В зависимости от диалекта SQL (читай СУБД), можно применять разные методы для вычисления значения группировки. Если тебе нужна сумма за конкретный период, а не полный отчет, то можно обойтись без группировки, а просто ограничить выборку через WHERE:
Код:
-- для дня
select sum("цена блета" * "Кол - во проданных билетов") from "Таблица" where "Время отправки" >= '2013-05-01' and "Время отправки" < '2013-05-02';
-- для месяца
select sum("цена блета" * "Кол - во проданных билетов") from "Таблица" where "Время отправки" >= '2013-05-01' and "Время отправки" < '2013-06-01';
-- для года
select sum("цена блета" * "Кол - во проданных билетов") from "Таблица" where "Время отправки" >= '2013-01-01' and "Время отправки" < '2014-01-01';
ЗЫ. Представление даты в конкретной СУБД может отличаться.
Вообще, читай о GROUP BY и аггрегатных функциях. А вообще, задавай конкретные вопросы, честно говоря, просто лениво тут набирать целые статьи, тем более, что все это есть, стоит только поискать.