【问题标题】:mySQL query to find the most repeated valuemySQL 查询查找重复次数最多的值
【发布时间】:2011-04-07 13:10:43
【问题描述】:

我有一个包含几行的表,对于每一行,我都需要知道最常见的值。

例子:

row_1 有

car
boat
car
car
truck
truck
plane
car
car

作为它的值。

我需要知道最常见的值是什么(在本例中为汽车)。 我有几个想法,但由于我必须对 30 行执行此操作,因此我想要一个简单且不占用 CPU 的查询。

【问题讨论】:

标签: mysql


【解决方案1】:

获取值列表及其出现次数:

select col_name, count(col_name) c from table
group by col_name
order by c desc;

如果您只想要最常见的值:

select col_name, count(col_name) c from table
group by col_name
order by c desc
limit 1;

【讨论】:

    【解决方案2】:

    我以这样一种方式编写查询,即如果有更多出现次数相同的项目,您将看到它们全部,而不仅仅是其中一个。

    select item
    from table
    group by item
    having count(item) = (
    select count(item) as great
    from table
    group by item order by great desc limit 1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-28
      • 1970-01-01
      • 2015-06-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多