MySQL Count Matching Records с COUNT

Избыточность данных возникает по множеству причин. Некоторые из сложных задач, с которыми вы должны справиться при работе с системами баз данных, — это попытка обнаружить повторяющиеся значения. Для этого мы будем использовать агрегатный метод COUNT (). Метод COUNT () возвращает сумму строк, находящихся в определенной таблице. Функция COUNT () позволяет суммировать все строки или только строки, соответствующие заданному условию. В этом руководстве вы узнаете, как определять повторяющиеся значения для одного или нескольких столбцов MySQL с помощью COUNT (). Метод COUNT () имеет три типа:

  • COUNT (*)
  • COUNT (выражение)
  • COUNT (DISTINCT выражение)

Убедитесь, что в вашей системе установлен MySQL. Откройте клиентскую оболочку командной строки MySQL и введите свой пароль, чтобы продолжить. Мы рассмотрим несколько примеров подсчета совпадающих значений с помощью метода COUNT ().

В нашей схеме data есть таблица social. Давайте проверим его запись с помощью следующего запроса.

>> SELECT * FROM data.social;

MySQL COUNT (*)

Метод COUNT (*) используется для подсчета количество строк, находящихся в таблице, или подсчитать количество строк в соответствии с заданным условием. Чтобы проверить общее количество строк в таблице, «социальный» попробуйте запрос ниже. Согласно результату у нас в таблице всего 15 строк.

>> SELECT COUNT (*) FROM data.social;

Взгляните на метод COUNT (*) при определении некоторых условий. Нам нужно получить количество строк, в которых имя пользователя совпадает с «Мустафа». Вы можете видеть, что у нас есть только 4 записи для этого конкретного имени.

>> SELECT COUNT (*) FROM data.social WHERE User = ‘Mustafa’;

Чтобы получить общую сумму строк, в которых находится веб-сайт пользователя. «Instagram», попробуйте следующий запрос. В таблице «social» есть только 4 записи для веб-сайта «Instagram».

>> SELECT COUNT (*) FROM data.social WHERE Website = ‘Instagram’;

Чтобы получить общее количество строк, в которых «Возраст» больше 18 выглядит следующим образом:

>> SELECT COUNT (*) FROM data.social WHERE Age> 18;

Получим данные столбцов «Пользователь» и «Веб-сайт» из таблицы , где имя пользователя начинается с буквы «M». Попробуйте выполнить приведенную ниже инструкцию для оболочки.

>> SELECT User, Website FROM data.social WHERE User like ‘M%’;

MySQL COUNT (выражение)

В MySQL метод COUNT (выражение) используется только тогда, когда вы хотите подсчитать ненулевые значения столбца «выражение». «Выражение» будет именем любого столбца. Давайте рассмотрим простой пример. Мы подсчитывали только ненулевые значения столбца «Веб-сайт», который связан со столбцом «Возраст ‘со значением, равным’ 25 ‘. Видите! У нас есть только 4 ненулевые записи для пользователей в возрасте’ 25 ‘, которые используют веб-сайты.

>> ВЫБЕРИТЕ СЧЕТЧИК (Веб-сайт) ИЗ data.social WHERE Age = 25;

MySQL COUNT (выражение DISTNCT)

В MySQL метод COUNT (выражение DISTINCT) используется для суммирования значений, отличных от NULL, и различных значений столбца «выражение». Чтобы подсчитать определенное количество ненулевых значений в столбце «Возраст», мы использовали приведенный ниже запрос. Вы найдете 6 непустых и различных записей столбца «Возраст» из таблицы «Социальные». Это означает, что мы всего 6 человек разного возраста.

>> SELECT COUNT (DISTINCT Age) FROM data.social;

MySQL COUNT (IF (выражение))

Для большого выделения , вам следует объединить COUNT () с функциями управления потоком. Для начала, для части выражения, используемого в методе COUNT (), вы можете использовать функцию IF (). Это может быть очень полезно для быстрой разбивки информации в базе данных. Мы будем подсчитывать количество строк с разными возрастными условиями и разделять их на три разных столбца, которые можно назвать категориями. Во-первых, COUNT (IF) будет подсчитывать строки, возраст которых меньше 20, и сохранять это количество в новом столбце с именем «Подростковый». Второй COUNT (IF) подсчитывает строки возрастом от 20 до 30, сохраняя его в столбце «Молодые». В-третьих, последний подсчитывает строки старше 30 лет, сохраненные в столбце «Зрелые». У нас есть 5 подростков, 9 молодых и только 1 зрелый человек.

>> SELECT COUNT (IF (Age 30,1, NULL)) ‘Mature’ FROM data.social;

MySQL COUNT (*) с предложением GROUP BY

Оператор GROUP BY — это инструкция SQL, которая используется для группировки строк с одинаковыми значениями. Он возвращает общее количество значений, находящихся в каждой группе. Например, если вы хотите проверить номер каждого пользователя отдельно, вы должны определить столбец «Пользователь» с предложением GROUP BY при подсчете записей для каждого пользователя с помощью COUNT (*).

>> SELECT User, COUNT (*) FROM data.social GROUP BY User;

Вы можете выбрать более двух столбцов при выполнении подсчета строк вместе с предложением GROUP BY, как показано ниже..

>> SELECT User, Age, Website, COUNT (*) FROM data.social GROUP BY Website;

Если мы хотим подсчитывать строки при использовании предложения WHERE с некоторыми условиями в нем наряду с GROUP BY и COUNT (*), вы также можете это сделать. Приведенный ниже запрос будет извлекать и подсчитывать записи столбцов: «Пользователь», «Веб-сайт» и «Возраст», где значениями веб-сайта являются только «Instagram» и «Snapchat». Вы можете видеть, что у нас есть только 1 запись для обоих веб-сайтов для разных пользователей.

>> SELECT User, Website, Age, COUNT (*) FROM data.social WHERE Website = ‘ Instagram ‘Or Website =’ Snapchat ‘ГРУППА ПО веб-сайту, возрасту;

MySQL COUNT (*) с предложением GROUP BY и ORDER BY

Давайте попробуем предложения GROUP BY и ORDER BY совместно с методом COUNT (). Давайте возьмем и посчитаем строки таблицы ‘social’, упорядочивая данные в порядке убывания, используя этот запрос:

>> SELECT User, Website, Age, COUNT (*) FROM data.social ГРУППА ПО возрасту ORDER BY COUNT (*) DESC;

Приведенный ниже запрос сначала подсчитает строки, а затем отобразит только записи, имеющие COUNT больше 2 в порядке возрастания.

>> SELECT User , Возраст, COUNT (*) FROM data.social GROUP BY Age HAVING COUNT (*)> 2 ORDER BY COUNT (*) ASC;

Заключение

Мы рассмотрели все возможные методы для подсчета совпадающих или повторяющихся записей с помощью COUNT () с другими предложениями.

Оцените статью
nanomode.ru
Добавить комментарий