Выбрать только последнюю статью от автора - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть таблица с авторами, и эти авторы написали кучу статей. Эти статьи также имеют date. Теперь я хочу показать только последнюю статью для каждого автора. Это то, что я имею до сих пор (показаны все статьи).

SELECT authors.name as author_name,
       articles.title as article_title,
FROM authors
LEFT JOIN articles
ON authors.id = articles.author_id

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

MAX ключевое слово будет полезно для получения последней записи

SELECT au.name as author_name, ar.title as article_title
FROM authors au INNER JOIN articles ar ON au.id = ar.author_id
INNER JOIN ( SELECT author_id, max(date_column) date FROM articles
GROUP BY articles) r ON ar.author_id = r.authorId AND ar.date_column = date

Попробуйте это!

1 голос
/ 20 апреля 2020
SELECT authors.name AS author_name, 
   (SELECT title FROM articles WHERE author_id = authors.id ORDER BY published_at DESC LIMIT 1) AS title
FROM authors;

или что-то вроде:

SELECT authors.name AS author_name, articles.title AS title
FROM authors
LEFT JOIN articles ON articles.id = (SELECT id FROM articles WHERE author_id = authors.id ORDER BY published_at DESC LIMIT 1);

Обратите внимание, что я предположил, что ваше свойство date называется published_at.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...