【发布时间】:2011-04-07 13:10:43
【问题描述】:
我有一个包含几行的表,对于每一行,我都需要知道最常见的值。
例子:
row_1 有
car
boat
car
car
truck
truck
plane
car
car
作为它的值。
我需要知道最常见的值是什么(在本例中为汽车)。 我有几个想法,但由于我必须对 30 行执行此操作,因此我想要一个简单且不占用 CPU 的查询。
【问题讨论】:
标签: mysql
我有一个包含几行的表,对于每一行,我都需要知道最常见的值。
例子:
row_1 有
car
boat
car
car
truck
truck
plane
car
car
作为它的值。
我需要知道最常见的值是什么(在本例中为汽车)。 我有几个想法,但由于我必须对 30 行执行此操作,因此我想要一个简单且不占用 CPU 的查询。
【问题讨论】:
标签: mysql
获取值列表及其出现次数:
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;
【讨论】:
我以这样一种方式编写查询,即如果有更多出现次数相同的项目,您将看到它们全部,而不仅仅是其中一个。
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)
【讨论】: