Php 如何找到一个值在记录中的最高次数?

Php 如何找到一个值在记录中的最高次数?,php,mysql,sql,Php,Mysql,Sql,例如,在我创建的名为“likes”的表中,有三个字段:id(无关)、user id(用户的id)和post id(post的id)。假设我有很多记录,我想找出哪个帖子id在数据库中出现的次数最多。说清楚一点,我不是在问哪个记录在post id字段中的数字最大。相反,我在寻找哪个帖子id列出的次数最多。例如,假设一个post id(222)在数据库中出现7次,而其他post id每次使用1次。在这种情况下,我需要找到222的post id。如果可能的话,如何在记录中找到使用量最高的前5个post

例如,在我创建的名为“likes”的表中,有三个字段:id(无关)、user id(用户的id)和post id(post的id)。假设我有很多记录,我想找出哪个帖子id在数据库中出现的次数最多。说清楚一点,我不是在问哪个记录在post id字段中的数字最大。相反,我在寻找哪个帖子id列出的次数最多。例如,假设一个post id(222)在数据库中出现7次,而其他post id每次使用1次。在这种情况下,我需要找到222的post id。如果可能的话,如何在记录中找到使用量最高的前5个post id?

这是一个相当简单的聚合函数
count()
,用于计算匹配记录的数量

select
    postID,
    count(*) as numLikes
from 
    yourTable
group by
    postID
order by
    numLikes desc
这将按照帖子被喜欢的次数列出帖子


此外,由于我主要为您提供了一个解决方案,您会做得非常好,这将更详细地解释这一切是如何工作的-事实上,我做了相当多的工作来覆盖像这样的聚合函数。在问题的第一个答案的一半左右,我准确地解释了这类查询中发生的事情:)

你在寻找计数吗()从我已经研究过的数据来看,似乎我需要某种分组和计数的组合。现在,为什么我在一场凡人战斗中读到“完美的胜利”。。。