У меня есть база данных с несколькими users
, каждая из которых может иметь несколько books
.
Я хочу получить список пользователей и их первую книгу, основанную на поле (Integer) sortorder
втаблица book
.
Ниже приведен пример SQL, который я сейчас использую.Единственная проблема заключается в том, что он не возвращает первую книгу на основе поля sortorder
для каждого пользователя.
SELECT
b.id, b.user_id, b.sortorder, b.title
FROM
books AS b
JOIN
books_categories AS bc
ON
(b.id = bc.book_id)
JOIN
categories AS c
ON
(c.id = bc.category_id)
JOIN
users AS u
ON
(u.id = b.user_id)
GROUP BY
b.user_id