2012-03-07 9 views
0

フォーラムの投稿で最も人気のあるタグを見つける方法はありますか?たとえば、[card=x]cardname[/card]というタグがあります。私はすべて[card]タグがxの回数でソートされていることを発見したいと思っています。また、1つの投稿に複数の[card]タグが存在する可能性があります。最も人気のあるタグを見つける

答えて

0

私は、これはあなたに大いに役立つだろうと思う:

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がこれに対して過大評価されていると推測しています。おそらく、 "\\\ [カード。?\\\]とは対照的に" [カード] "のようなものを探すだけでよいからです。?\\\ [\\\/card \\\] "

編集:残念ですが、私は投稿を誤読しました。タグをカウントするのではなく、パラメータを取り込むように見えます。この場合、キャプチャREGEXPが必要です。

+0

私はそれを見ました。どのくらいのタグがあるかを調べるには有効ですが、特定のカードの数を知りたいのです。より正確には、タグ内の 'x 'が何度起こったかによって順序付けされる。 – LordZardeck

+0

はい、私はそれを誤解して申し訳ありません。 REGEXPをキャプチャしなくても、上記のことは正しいコンセプトです。 :( – Jason

関連する問題