найти самый популярный тег - PullRequest
0 голосов
/ 07 марта 2012

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

1 Ответ

0 голосов
/ 07 марта 2012

Думаю, это вам очень поможет:

http://www.thingy -ma-jig.co.uk / комментарий / 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 переоценен для этого, так как вам, вероятно, нужно искать что-то вроде «[card», а не «\\\ [card. ? \\\]. ? \\\». [\\\ / карта \\\] "

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

...