繁体   English   中英

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

[英]How to find the highest number of times a value is in records?

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

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

select
    postID,
    count(*) as numLikes
from 
    yourTable
group by
    postID
order by
    numLikes desc

这将按喜欢的次数顺序列出帖子。

此外,由于我主要为您提供解决方案,因此阅读我写的问答集将非常好,它将更加详细地解释这一切的工作原理-实际上,我做了相当多的工作来掩盖此类汇总功能在里面。 我会在问题的第一个答案中途大约解释一下这种查询中发生的事情:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM