Обновленный Баланс По Сравнению С Каждым Месяцем SQL

#sql #date-range

#sql #диапазон дат

Вопрос:

Я использую приведенный ниже запрос, чтобы получить обновленный баланс каждого клиента за месяц. Данный диапазон дат рассчитан только на один месяц, но теперь мне нужно сопоставить последние балансы со всеми в данном диапазоне дат. Запрос приведен ниже для вашей справки.

 SELECT *  FROM (SELECT id,  date_1,  balance,  Row_number()  OVER (  partition BY id  ORDER BY date_1 DESC) AS RN  FROM customer  WHERE date_1 BETWEEN '2021-01-01' AND '2021-01-30'    ) sub  WHERE rn = 1   

Ответ №1:

Попробуйте удалить раздел с помощью функции окна Row_number ().

 SELECT *  FROM (SELECT id,  date_1,  balance,  Row_number()  OVER (ORDER BY date_1 DESC) AS RN  FROM customer  WHERE date_1 BETWEEN '2021-01-01' AND '2021-01-30'    ) sub  WHERE rn = 1