SELECT
T.na,
bk.title,
bk.price
FROM book bk
INNER JOIN
(
/*выбираем нужных авторов*/
select author_id id,name_author na from author a,book bb where a.author_id=bb.author_id
group by author_id,name_author
/*средняя цена книг автора больше средней цены всех книг*/
having AVG(bb.price)>(select AVG(b.price) from book b)
) T
/*соединяем выбранных авторов с книгами по id автора*/
ON T.id=bk.author_id
/*сортируем*/
ORDER BY T.na ASC,bk.title ASC
SELECT gg.name_genre,COUNT(*)
FROM
genre gg INNER JOIN book bb ON gg.genre_id=bb.genre_id INNER JOIN buy_book bbb ON bbb.book_id=bb.book_id
GROUP BY gg.genre_id
/*Где число книг для данного genre_id равно максимальному*/
HAVING COUNT(*)=(
/*Поиск максимального числа книг одного жанра*/
SELECT MAX(T.num) FROM (
/*Ставим в соответствие жанру, число его книг*/
SELECT g.genre_id,COUNT(*) num FROM
genre g INNER JOIN book b ON g.genre_id=b.genre_id INNER JOIN buy_book bb ON bb.book_id=b.book_id
GROUP BY g.genre_id) T)
вот мое решение:
SELECT name_genre, SUM(buy_book.amount) AS Количество
FROM genre JOIN book USING(genre_id)
JOIN buy_book USING(book_id)
GROUP BY name_genre
Limit 1
Результат верный но выдает ошибку что через Limit нельзя, только через вложенный запрос.
Задание: Придумайте один или несколько запросов на выборку для предметной области «Интернет-магазин книг» (в таблицы занесены данные, как на первом шаге урока). Проверьте, правильно ли они работают.
При желании можно формулировку запросов разместить в комментариях.
Размещенные задания можно использовать для закрепления материала урока.
Оценивайте понравившиеся Вам запросы.
В последнем модуле создан отдельный урок, в котором мы разместим запросы, набравшие наибольшее количество лайков.
Наполнение таблицы Задание: Вывести название книги, написанные авторами, средняя цена книг которых больше средней цены всех книг на складе. Вывести название автора, название книги и цену. Информацию отсортировать сначала по фамилии автора в алфавитном порядке, затем по названию книги тоже в алфавитном порядке.
Наполнение таблицы
Таблица genre:
| genre_id | name_genre |
+----------+-------------+
| Роман |
| Поэзия |
| Приключения |
Таблица author:
| author_id | name_author |
| Булгаков М.А. |
| Достоевский Ф.М. |
| Есенин С.А. |
| Пастернак Б.Л. |
| Лермонтов М.Ю. |
Таблица book:
| book_id | title | author_id | genre_id | price | amount |
| Мастер и Маргарита | 1 | 1 | 670.99 | 3 |
| Белая гвардия | 1 | 1 | 540.50 | 5 |
| Идиот | 2 | 1 | 460.00 | 10 |
| Братья Карамазовы | 2 | 1 | 799.01 | 3 |
| Игрок | 2 | 1 | 480.50 | 10 |
| Стихотворения и поэмы | 3 | 2 | 650.00 | 15 |
| Черный человек | 3 | 2 | 570.20 | 6 |
| Лирика | 4 | 2 | 518.99 | 2 |