【问题标题】:find most popular tag找到最受欢迎的标签
【发布时间】:2012-03-24 15:40:36
【问题描述】:

有没有办法在论坛帖子中找到最受欢迎的标签?例如,我有一个名为[card=x]cardname[/card] 的标签。我想查找按x 出现次数排序的所有[card] 标签。另请注意,单个帖子中可以有多个[card] 标签。

【问题讨论】:

    标签: php mysql smf smf-forum


    【解决方案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 被高估了,因为你可能只需要寻找类似 "[card" 而不是 "\\\[card .?\\\].?\\ \[\\\/卡\\\]"

    编辑:对不起,我误读了帖子,看起来您不想计算标签而是计算参数,在这种情况下,您需要捕获 REGEXP。

    【讨论】:

    • 我已经看到了。虽然这可以找到有多少标签,但我想知道一张特定卡有多少。更准确地说,我希望标签按标签中x 出现的次数排序。
    • 是的,很抱歉我看错了。以上仍然是正确的概念,只是没有捕获 REGEXP。 :(
    猜你喜欢
    • 2021-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    相关资源
    最近更新 更多