View difference between Paste ID: TxqHv8z5 and 1rA642qG
SHOW: | | - or go back to the newest paste.
1
SELECT
2
  g.id AS genre_id,
3
  g.name AS genre_name,
4
  t2.books_in_genre AS books_in_genre,
5
  b.id AS book_id,
6
  b.name AS book_name,
7
  b.date_added
8
FROM genre g
9
OUTER JOIN (
10
    SELECT bg.genre_id AS genre_id, 
11
		   COUNT(b.id) as books_in_genre,
12
		   FIRST_VALUE(b.id) OVER (PARTITION BY bg.genre_id ORDER BY b.date_added DESC, b.id DESC) AS newest_book_id
13
    FROM book b
14
    LEFT JOIN book_genre bg ON b.id = bg.book_id
15
    GROUP BY bg.genre_id
16
) t2
17
ON g.id = t2.genre_id
18
LEFT JOIN books b
19
	ON b.id = t2.newest_book_id
20
ORDER BY books_in_genre DESC