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 |