Количество числовых значений отображается в определенном столбце в MySQL - программирование
Подтвердить что ты не робот

Количество числовых значений отображается в определенном столбце в MySQL

Это, вероятно, было задано раньше, но я не могу пробиться сквозь множество результатов поиска.

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

например. Для таблицы, содержащей

mike
mary
mike

Вернуть результаты, например:

mike 2
mary 1

Из документации MySQL кажется, что count является агрегированной функцией, которая может использоваться с GROUP BY, но она не делает то, что я хочу (она возвращает общее количество строк в GROUP BY, а не количество появлений для каждой строки, т.е. это не работает SELECT count(email) as c FROM orders GROUP BY email

4b9b3361

Ответ 1

select email, count(*) as c FROM orders GROUP BY email

Ответ 2

SELECT column_name, COUNT(column_name)
FROM table_name
GROUP BY column_name

Ответ 3

Взгляните на группу по функциям.

То, что делает группа по функции, представляет собой многозначную группировку аналогичного значения для данного поля. Затем вы можете указать количество времени, в течение которого это значение было сгруппировано с помощью функции COUNT.

Документация по MySQL

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

mysql> SELECT student_name, AVG(test_score)
    ->        FROM student
    ->        GROUP BY student_name;

Ответ 4

select name, count(*) from table group by name;

Я думаю, это должно быть сделано