Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

           Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
           И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - https://clck.ru/fCqwP

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2022, 19:08   #1
Svetlana1111
Новичок
Джуниор
 
Регистрация: 02.03.2022
Сообщений: 1
По умолчанию Оконные функции

--Сделайте запрос к таблице payment и с помощью оконных функций добавьте вычисляемые колонки согласно условиям:
--Пронумеруйте все платежи от 1 до N по дате
--Пронумеруйте платежи для каждого покупателя, сортировка платежей должна быть по дате
--Посчитайте нарастающим итогом сумму всех платежей для каждого покупателя, сортировка должна быть сперва по дате платежа, а затем по сумме платежа от наименьшей к большей
--Пронумеруйте платежи для каждого покупателя по стоимости платежа от наибольших к меньшим так, чтобы платежи с одинаковым значением имели одинаковое значение номера.
*Можно составить на каждый пункт отдельный SQL-запрос, а можно объединить все колонки в одном запросе.
У меня получился такой запрос
Код:
select
	customer_id,
	payment_id,
	payment_date,
	row_number () over (partition by amount order by payment_date::date),
	dense_rank() over (partition by customer_id order by payment_date::date),
	sum(amount)	over (partition by customer_id order by payment_date::date,amount),
	row_number () over (partition by customer_id order by amount desc)
	from payment order by customer_id
Но согласно скриншоту который должен получиться результат у меня не совпадает. укажите пожалуйста на ошибки
Изображения
Тип файла: png 5-1.png (12.6 Кб, 2 просмотров)
Svetlana1111 вне форума Ответить с цитированием
Старый 24.05.2022, 13:18   #2
Sergey111222
Новичок
Джуниор
 
Регистрация: 19.05.2022
Сообщений: 1
По умолчанию

select *, row_number() over (order by payment_date)
from payment
Sergey111222 вне форума Ответить с цитированием
Ответ

           Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
           Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перехватить оконные сообщения чужого окна? winner13 Общие вопросы Delphi 2 14.01.2016 21:02
Matlab прямоугольные оконные функции Zema92 Помощь студентам 0 17.05.2014 19:46
оконные и клавиатурные кнопки стрелок kbp C++ Builder 2 18.09.2012 22:00
Цикл,сохранение результатов в файл,построение по циклу графика,вывод данных из файла в таблицу(C++Builder6 оконные приложения) Demenis Помощь студентам 0 06.07.2012 23:15
обновление в блоге - Хуки в Windows. Часть третья. Оконные функции Pblog Обсуждение статей 1 04.01.2010 13:20