Как уже говорилось в arnaud576875, вы можете использовать подзапрос для извлечения сводных данных.
В вашем SQL я заметил две вещи, которые на самом деле не являются частью вопроса, но на которые стоит обратить внимание.
- вы можете использовать псевдоним таблицы, чтобы сократить ваш SQL и сделать его более читабельным.
Так что вместо
SELECT articles.*,categories.category_name,users.username,tags.tag
FROM articles
LEFT JOIN `categories` ON articles.category_id = categories.category_id
LEFT JOIN `users` ON articles.author_id = users.user_id
LEFT JOIN `tags` ON articles.article_id = tags.article_id
ORDER BY articles.date_added DESC
вы бы код
SELECT a.*, c.category_name, u.username, t.tag
FROM articles a
LEFT JOIN `categories` c ON a.category_id = c.category_id
LEFT JOIN `users` u ON a.author_id = u.user_id
LEFT JOIN `tags` t ON a.article_id = t.article_id
ORDER BY a.date_added DESC
- Я бы выбрал SELECT * и выбрал только те поля, которые вы на самом деле собираетесь использовать. Это также помогает с удобочитаемостью вашего кода.