Как правильно составить SQL запрос для MySQL?

Есть таблицы:
books
-id
-title
-pubDate

authors
-id
-name

publish
-id
-name

book_author
-book_id
-author_id

book_publish
-book_id
-publish_id

Необходимо выбрать список самых продуктивных (кол-во книг в год),
авторов для каждого издательства.
Помогите пожалуйста! 3й день не могу придумать.
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
@tr0yka Автор вопроса
В общем рабочий запрос выглядит так:
SELECT
  a.firstName, p.name,
  COUNT(ab.author_id) AS total
FROM 
  books AS b
JOIN 
  publish_book AS pb 
ON 
  pb.book = b.uid
JOIN 
  author_book AS ab 
ON 
  b.uid = ab.book_id
JOIN 
  authors AS a 
ON 
  ab.author_id = a.uid
JOIN 
  publishing as p 
ON 
  p.uid = pb.publish
WHERE
  p.id = 4 AND
  YEAR(b.pubDate) = 2016
GROUP BY
  ab.author_id 
ORDER BY
  total DESC
LIMIT 10
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы