Было бы намного проще, если бы вы нормализовали базу данных и создали отдельную таблицу тегов. Например, если у вас есть такая база данных:
article
article_id
article_title
article_content
article_tag
tag_name
article_id
UNIQUE INDEX (tag_name, article_id)
UNIQUE INDEX (article_id, tag_name) # in order to perform fast lookups in both directions
(Возможно, это можно еще более нормализовать, создав таблицу tag
, содержащую tag_name
и tag_id
, и заменив tag_name
на tag_id
в article_tag
.)
Теперь вы можете представить список самых популярных тегов, используя запрос, такой как:
SELECT tag_name, count(article_id) c
FROM article_tag
GROUP BY tag_name
ORDER BY c DESC
LIMIT 10