首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql获取每个帖子最常用的值的结果。

问mysql获取每个帖子最常用的值的结果。
EN

Stack Overflow用户
提问于 2015-02-07 22:16:54
回答 1查看 89关注 0票数 1

我发现了一些类似的问题,有很好的答案,但我想不出如何将它应用到我的具体案例中。我有一个网站,用户可以评分那里最喜欢的帖子,从1-6。每个数字都是不同的类别。

现在我需要知道每一个职位最频繁的投票结果。因此,我需要计算每一个帖子id,比每个帖子id最常见的值还要多。

在此之后,我想更新另一个表中的每个结果。(不知道如何解决这个问题,我现在还不太擅长Mysql )。

这是两个专栏,我需要知道每个帖子在post_id中的频率,以及每个帖子中最频繁的投票号码是多少。

只是我的表的一个例子(value =表决)

代码语言:javascript
复制
value | post_id               
---------------
  3    |   12
  1    |   6
  4    |   13
  2    |   5
  6    |   12
  5    |   6  

我需要这样的输出来知道哪个帖子主要是哪个类别的投票。

代码语言:javascript
复制
post | most voted in this category               
---------------
  1    |   3
  2    |   5
  3    |   6
  4    |   1
  5    |   4
  6    |   6  

我需要这张桌子上的每一个帖子。我需要更新另一张桌子上的每一篇文章。我想我得做个循环。但我已经坚持了第一部分。

我只有这个。第一部分。

代码语言:javascript
复制
    <?php global $wpdb;

$test = $wpdb->get_results('SELECT posts_id, value, COUNT(posts_id) AS ActionCount
FROM rating_item_entry_value
GROUP BY posts_id
ORDER BY ActionCount DESC'); 
echo '<pre>';
print_r($test);
echo '</pre>';

这是我得到的输出

代码语言:javascript
复制
    Array
(
    [0] => stdClass Object
        (
            [posts_id] => 0
            [value] => 5
            [ActionCount] => 7
        )

    [1] => stdClass Object
        (
            [posts_id] => 221
            [value] => 3
            [ActionCount] => 3
        )

    [2] => stdClass Object
        (
            [posts_id] => 197
            [value] => 5
            [ActionCount] => 2
        )

    [3] => stdClass Object
        (
            [posts_id] => 164
            [value] => 3
            [ActionCount] => 1
        )

)

举个例子。

我不知道如何把这件事做得更好,我试了很多次,但都想不出来。有没有人有一个好的解决方案,如何获得最频繁的数字为每一个id?(也许如何确保变量中的结果安全,以更新循环中另一个表中的每个帖子?)非常感谢你的帮助。问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-07 22:25:01

最常见的方法是计数、聚合和按频率分组。您可以将此映射到您的问题:

代码语言:javascript
复制
select
    x.amount,
    count(*) as times -- I forgot that row
from
    X x
group by
    x.amount
order by
    count(*) DESC

//编辑对您的意思是

代码语言:javascript
复制
select
    post_id,
    value,
    count(*)
from
    your_table
group by
    post_id,
    value
order by
    count(*) desc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28388105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档