Найти самый популярный тег

Есть ли способ найти самый популярный тег в сообщениях на форуме? Например, у меня есть тег с именем [card=x]cardname[/card], Я хочу найти все [card] теги отсортированы по количеству раз x происходит. Также обратите внимание, что может быть несколько [card] теги в одном посте.

1 ответ

Я думаю, что это вам очень поможет

http://www.thingy-ma-jig.co.uk/comment/7200

Предполагая, что вы знаете, как вы суммируете запрос оттуда. Если нет, это будет что-то вроде:

SET @findme="[card";
SELECT
  count((LENGTH(n.FIELD) - LENGTH(REPLACE(n.FIELD, @findme, ""))) / LENGTH(@findme)) AS findme_count
FROM table n
ORDER BY findme_count DESC;

Вы должны зацикливаться или записывать это для каждого тега. Я предполагаю, что REGEXP переоценен для этого, так как вам, вероятно, нужно искать что-то вроде "[карточка", а не "\\\[карточка.? \\\].? \\\ [\\\ / карточка" \\\]"

РЕДАКТИРОВАТЬ: Извините, я неправильно прочитал сообщение, похоже, вы не хотите считать теги, а скорее параметры, и в этом случае вам понадобится захват REGEXP.

Другие вопросы по тегам