Guest User

Untitled

a guest
Jun 27th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 0.60 KB | None | 0 0
  1. SELECT
  2.   g.id AS genre_id,
  3.   g.name AS genre_name,
  4.   t2.books_in_genre,
  5.   b.id AS book_id,
  6.   b.name AS book_name,
  7.   b.date_added
  8. FROM book b
  9. RIGHT JOIN book_genre bg ON b.id = bg.book_id
  10. RIGHT JOIN genre g ON g.id = bg.genre_id
  11. JOIN (
  12.     SELECT g.id genre_id, COUNT(b.id) books_in_genre, MAX(b.date_added) newest_book
  13.     FROM book b
  14.     RIGHT JOIN book_genre bg ON b.id = bg.book_id
  15.     RIGHT JOIN genre g ON g.id = bg.genre_id
  16.     GROUP BY g.id
  17. ) t2
  18. ON g.id = t2.genre_id
  19. AND (b.date_added = t2.newest_book OR b.date_added IS NULL AND t2.newest_book IS NULL)
  20. ORDER BY t2.books_in_genre DESC
Add Comment
Please, Sign In to add comment