Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

SQL запрос между датами

MaksimN Мастер (2265), на голосовании 2 года назад
Добрый день.
Не подскажите решение.
Есть таблица
Дата Цена
1.1.2022 300
2.1.2022 310
3.1.2022 120
4.1.2022 180
5.1.2022 123
6.1.2022 172

Нужно запросом sql посчитать цену в промежутке 1.1.2022-2.1.2022 и 5.1.2022-6.12022
То есть из примера должно получится А= 300+310 B=123+172
Ну и C=A-B
Буду очень благодарен.
Голосование за лучший ответ
Black Afgano Просветленный (22302) 2 года назад
SELECT a-b AS diff
FROM (
  SELECT
    SUM(CASE WHEN date BETWEEN '1.1.2022' AND '2.1.2022' THEN price END) AS a
    ,SUM(CASE WHEN date BETWEEN '5.1.2022' AND '6.1.2022' THEN price END) AS b
  FROM table
) AS t;
MaksimNМастер (2265) 2 года назад
Спасибо за ответ
в итоге по колдовал(под себя) вот заработало:
SELECT *
FROM (
SELECT
SUM(CASE WHEN "public"."prod3tabl"."data3" BETWEEN timestamp with time zone '2022-02-01 00:00:00.000+03:00' AND timestamp with time zone'2022-02-25 00:00:00.000+03:00' THEN "prod3tabl"."zenaizdel3" END) AS a,
SUM(CASE WHEN "public"."prod3tabl"."data3" BETWEEN timestamp with time zone'2022-03-1 00:00:00.000+03:00' AND timestamp with time zone'2022-03-31 00:00:00.000+03:00' THEN "prod3tabl"."zenaizdel3" END) AS b
FROM "public"."prod3tabl"
) AS fg

остался вопрос как реализовать с=a-b



LIMIT 1048575
Black Afgano Просветленный (22302) Gagarin74, так я же написал запрос полностью, diff это и есть разница a-b
MaksimNМастер (2265) 2 года назад
Спасибо еще раз.Пока под своё ковырял -мысли о diff улетели
Похожие вопросы