SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » PostgreSQL » Помогите с запросом (Запрос на выбор данных)
Помогите с запросом [сообщение #1767] Tue, 07 March 2023 20:11 Переход к предыдущему сообщению
hondukk в настоящее время не в онлайне  hondukk
Сообщений: 1
Зарегистрирован: March 2023
Junior Member
Добрый день, помогите с запросом, сижу и туплю. Есть таблица SALES, в которой данные по следующим полям: VK - признак типа клиента, date (дата в формате день, месяц, год) и соответственно айдишник записи сделки. Есть 2 параметра, которые задают дату начала периода и дату его окончания. Требования: найти количество продаж за период (посчитать строки записей), найти количество за период с лагом в 30 дней или в 1 месяц. Если количество еще посчитал, то данными за прошлый месяц затык. В оракле была функция add_month, а тут аналога подобрать не могу. Пока идея нерабочая была такая:

SELECT VK AS attr,
COUNT(CASE WHEN date BETWEEN CUR_START AND CUR_END THEN 1 ELSE 0 END) AS CNT,
COUNT(CASE WHEN date BETWEEN add_months(CUR_START, -12) AND add_months(CUR_END, -12) THEN 1 ELSE 0 END) AS CNT_PREV
FROM SC.SALES
WHERE (date BETWEEN CUR_START AND CUR_END OR date BETWEEN add_months(CUR_START, -12) AND add_months(CUR_END, -12))
GROUP BY VK

Помогите советом, как сие лучше переделать
 
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Предыдущая тема: Хранимые процедуры
Следующая тема: Как сделать чтобы PG сравнивал строки без учета регистра (как MSSQL)
Переход к форуму:
  


Текущее время: Thu Mar 28 21:11:25 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00600 секунд