Почему GROUP BY работает?
в PostgreSQL работать не будет ERROR: column "library_books.title" must appear in the GROUP BY clause or be used in an aggregate function
То что работает, это причуды СУБД
Почему не должен работать?
Должен, просто какой результат ожидаете.
Ответ от базы получен,  но в указанном примере, значения склеились в одну строку (сгруппировались).('first', 'comedy', 5),
('second', 'comedy', 7),
и в итоге получили в результате выборки 2 результата. Без группировки получили бы 3