mySQL查询以查找重复次数最多的值

mySQL查询以查找重复次数最多的值,mysql,Mysql,我有一个有几行的表,对于每一行,我需要知道最常见的值 例如: 第1行有 car boat car car truck truck plane car car 作为它的价值观 我需要知道什么是最常见的价值(在这种情况下是汽车)。 我有几个想法,但由于我必须对30行执行此操作,因此我想要一个简单且不占用CPU的查询。要获得值列表及其出现次数: select col_name, count(col_name) c from table group by col_name order by c des

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

例如:

第1行有

car
boat
car
car
truck
truck
plane
car
car
作为它的价值观

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

要获得值列表及其出现次数:

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)
可能重复的