Так пример выше же убирает N+1. Если возникает ситуация, что кто–то хочет users и books — делаем last N books for each user, где–нибудь в памяти сохраняем и потом достаем для всех пользователей
если вы про window function, то это ответ на "как загрузить книги, когда у меня уже есть список юзеров в одном месте". А у Ильи не получается написать даталоадер, который соберет всех юзеров и аргумент first, чтобы потом уже использовать window function. Насколько я понимаю проблему 🙂