Найти самый популярный тег
Есть ли способ найти самый популярный тег в сообщениях на форуме? Например, у меня есть тег с именем [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.