Я создаю запрос для получения последних сообщений в форуме с использованием SQL DB.SQL для извлечения последних записей, группировки с помощью уникальных внешних ключей
У меня есть таблица под названием «Почта». Каждое сообщение имеет отношение внешнего ключа к «Thread» и «User», а также дату создания.
Фокус в том, что я не хочу показывать два сообщения одного и того же пользователя или два сообщения в том же потоке. Можно ли создать запрос, содержащий всю эту логику?
# Grab the last 10 posts.
SELECT id, user_id, thread_id
FROM posts
ORDER BY created_at DESC
LIMIT 10;
# Grab the last 10 posts, max one post per user
SELECT id, user_id, thread_id
FROM post
GROUP BY user_id
ORDER BY date DESC
LIMIT 10;
# Grab the last 10 posts, max one post per user, max one post per thread???
Возможно, мне что-то не хватает, но почему бы DISTINCT помочь? Разве это не столбец id pk? – hgulyan
DISTINCT не поможет - потому что ID всегда будет отличаться! – jbox
Я знал, что DISTINCT является частью решения, но не был уверен в его правильном использовании, поэтому включил в него также учебную ссылку. – DMin