Страницы

Поиск по вопросам

воскресенье, 12 января 2020 г.

Как выбрать самые часто встречающиеся значения для каждого столбца таблицы

#mysql #sql


Найти самое часто встречающееся значение для одного столбца можно при помощи запроса:

  SELECT foo
    FROM bar
GROUP BY foo
ORDER BY count(*) DESC
   LIMIT 1;


Но как составить запрос, если нужно сделать выборку по всем полям таблицы, выбрав
самые частотные значения для каждого столбца?
    


Ответы

Ответ 1



думаю поможет вот это, SELECT ( SELECT foo1 FROM bar GROUP BY foo1 ORDER BY COUNT(*) DESC , foo1 DESC LIMIT 1 ) AS foo1, ( SELECT foo2 FROM bar GROUP BY foo2 ORDER BY COUNT(*) DESC , value2 DESC LIMIT 1 ) AS foo2, ... ( SELECT fooN FROM bar GROUP BY fooN ORDER BY COUNT(*) DESC , fooN DESC LIMIT 1 ) AS fooN; SQL-Fiddle: test

Ответ 2



Здравствуйте. Боюсь оказаться не правым, но может быть так: Select foo, Count(foo) as c From bar Group by foo Having c > 5;

Ответ 3



если сортировки не взаимосвязаны порядком применения (сначала сортировка по одному столбцу, затем по другому, и т.д.), то для каждого столбца придётся применять отдельный оператор select.

Комментариев нет:

Отправить комментарий