Я использую базу данных MySQL и хочу захватить верхние теги из своего блога. Таблица выглядит так:
++++++ post_tags ++++++ + id INT(10) + + post_id INT(10) + + tag_id INT(10) + +++++++++++++++++++++++ ++++++++ tags +++++++++ + id VARCHAR(10) + + title VARCHAR(50) + + uri VARCHAR(75) + +++++++++++++++++++++++
Я хочу захватить верхние теги в базе данных, сгруппировав post_id из таблицы post_tags, а затем захватил 5 верхних записей. Он будет выглядеть примерно так:
Green 157 Water 92 Rocks 88 Purple 53 Sky 44
Спасибо заранее.
SELECT TOP 5 tags.title, COUNT(*) AS num_posts
FROM tags
INNER JOIN post_tags ON tags.id = post_tags.tag_id
GROUP BY tags.title
ORDER BY COUNT(*) DESC
В этом запросе будут отсутствовать теги, у которых нет сообщений. Если вы хотите включить их, используйте LEFT OUTER JOIN
.