Подтвердить что ты не робот

MySQL-запрос, чтобы найти наиболее повторяющееся значение

У меня есть таблица с несколькими строками, для каждой из них мне нужно знать наиболее распространенное значение.

Пример:

row_1 имеет

car
boat
car
car
truck
truck
plane
car
car

как его значения.

Мне нужно знать, что является наиболее распространенным значением (в данном случае автомобилем). У меня есть несколько идей, но поскольку я должен сделать это для 30 строк, мне нужен простой и неинтенсивный запрос.

4b9b3361

Ответ 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)