/
Louisset
/
Library
Обзор
Документация
Войти
/
Louisset
/
Library
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
task_4
17 строк
1016 B
Louisset
create task_4
14 ноя 2025, 22:53
14 ноя 2025, 22:53
e43d6b2
Код
Авторство
О чём код?
WITH book_rental_stats AS ( SELECT books.book_id,books.book_name AS "Название книги", genre.genre_name AS "Жанр", COUNT(bookrentals.rental_id) AS "Количество выдач" FROM Books LEFT JOIN BookRentals ON books.book_id = bookrentals.book_id LEFT JOIN BookGenre ON books.book_id = bookgenre.book_id LEFT JOIN Genre ON bookgenre.genre_id = genre.genre_id GROUP BY books.book_id, books.book_name, genre.genre_name ) SELECT "Название книги","Жанр", "Количество выдач", RANK() OVER (ORDER BY "Количество выдач" DESC) AS "Ранг среди всех книг", DENSE_RANK() OVER (PARTITION BY "Жанр" ORDER BY "Количество выдач" DESC) AS "Ранг в жанре", ROUND((CUME_DIST() OVER (ORDER BY "Количество выдач" DESC) * 100)::numeric, 2) AS "Процент от всех выдач (%)" FROM book_rental_stats ORDER BY "Количество выдач" DESC, "Название книги";