MySQL MariaDB

MySQL Count Matching Records with COUNT

MySQL Count Matching Records with COUNT

Надлишковість даних виникає з багатьох причин. Деякі складні обов'язки, з якими вам доведеться впоратися під час роботи з системами баз даних, намагаються виявити повторювані значення. Для цього ми будемо використовувати агрегований метод COUNT (). Метод COUNT () повертає суму рядків, що містяться в певній таблиці. Функція COUNT () дозволяє підсумовувати всі рядки або лише рядки, що відповідають визначеній умові. У цьому посібнику ви дізнаєтесь, як ідентифікувати повторювані значення для одного або, можливо, більше стовпців MySQL, використовуючи COUNT (). Метод COUNT () має такі три типи:

Впевніться, що у вас встановлено MySQL. Відкрийте оболонку клієнтського рядка MySQL та введіть свій пароль, щоб продовжити. Ми розглянемо кілька прикладів для підрахунку відповідних значень за допомогою методу COUNT ().

У нашій схемі „дані” є таблиця „соціальна”. Давайте перевіримо його запис за допомогою наступного запиту.

>> ВИБЕРІТЬ * ВІД даних.соціальна;

MySQL COUNT (*)

Метод COUNT (*) використовується для підрахунку кількості рядків, що перебувають у таблиці, або підрахунку кількості рядків відповідно до заданої умови. Щоб перевірити загальну кількість рядків у таблиці, "соціально", спробуйте подати запит нижче. За результатами в таблиці маємо 15 рядків.

>> ВИБЕРІТЬ КІЛЬКІСТЬ (*) З даних.соціальна;

Погляньте на метод COUNT (*), визначаючи деякі умови. Ми повинні отримати кількість рядків, де ім'я користувача таке саме, як "Мустафа". Ви бачите, що у нас є лише 4 записи для цього конкретного імені.

>> ВИБЕРІТЬ КІЛЬКІСТЬ (*) З даних.соціальні WHERE Користувач = 'Мустафа';

Щоб отримати загальну суму рядків, на яких веб-сайтом користувачів є „Instagram”, спробуйте подати нижче запит. У таблиці "соціальна" є лише 4 записи для веб-сайту "Instagram".

>> ВИБЕРІТЬ КІЛЬКІСТЬ (*) З даних.social WHERE Веб-сайт = 'Instagram';

Щоб отримати загальну кількість рядків, де «Вік» перевищує 18:

>> ВИБЕРІТЬ КІЛЬКІСТЬ (*) З даних.соціальні ДЕ Вік> 18;

Давайте отримаємо дані стовпців "Користувач" та "Веб-сайт" із таблиці, де ім'я користувача починається з алфавіту "М". Спробуйте нижченаведену інструкцію щодо оболонки.

>> ВИБЕРІТЬ користувача, веб-сайт ВІД даних.соціальні WHERE Користувач, як "M%";

MySQL COUNT (вираз)

У MySQL метод COUNT (вираз) використовується лише тоді, коли потрібно підрахувати ненульові значення стовпця 'вираз'. "Вираз" буде назвою будь-якого стовпця. Візьмемо простий приклад цього. Ми підраховували лише ненульові значення стовпця "Веб-сайт", який пов'язаний зі стовпцем "Вік", значення якого дорівнює "25". Побачити! У нас є лише 4 ненульові записи для користувачів віком від 25 років, які користуються веб-сайтами.

>> ВИБЕРІТЬ КІЛЬКІСТЬ (веб-сайт) З даних.соціальні ДЕ Вік = 25;

MySQL COUNT (вираз DISTNCT)

У MySQL метод COUNT (вираз DISTINCT) використовується для підсумовування ненульових значень та різних значень стовпця 'вираз'. Для підрахунку різної кількості ненульових значень у стовпці «Вік» ми використовували запит нижче. Ви знайдете 6 ненульових та чітких записів стовпця "Вік" із таблиці "соціальні". Це означає, що загалом у нас 6 людей різного віку.

>> ВИБЕРІТЬ КІЛЬКІСТЬ (ВИЗНАЧЕНИЙ вік) З даних.соціальна;

MySQL COUNT (IF (вираз))

Для великого акценту слід об’єднати COUNT () з функціями контролю потоку. Для початку, для частини виразу, що використовується в методі COUNT (), ви можете використовувати функцію IF (). Це може бути дуже корисно зробити для швидкого розподілу інформації всередині бази даних. Ми будемо підраховувати кількість рядків з різними віковими умовами та розділяти їх на три різні стовпці, які можна назвати категоріями. По-перше, COUNT (IF) буде підраховувати рядки віком менше 20 років і збереже цей рахунок у новому стовпці під назвою "Teenage". Другий COUNT (IF) - це підрахунок рядків віком від 20 до 30, зберігаючи їх у стовпці "Young". По-третє, останній підраховує рядки, вік яких перевищує 30 років, і зберігається у стовпці "Для дорослих". У нашому реєстрі 5 підлітків, 9 молодих і лише 1 зріла людина.

>> ВИБЕРИТИ КІЛЬКІСТЬ (ЯКЩО (Вік < 20,1,NULL)) 'Teenage', COUNT(IF(Age BETWEEN 20 AND  30,1,NULL)) 'Young', COUNT(IF(Age > 30,1, NULL)) "Зрілий" ВІД даних.соціальна;

MySQL COUNT (*) із реченням GROUP BY

Оператор GROUP BY - це інструкція SQL, яка використовується для групових рядків з однаковими значеннями. Він повертає загальну кількість значень, що перебувають у кожній групі. Наприклад, якщо ви хочете перевірити номер кожного користувача окремо, вам потрібно визначити стовпець "Користувач" із реченням GROUP BY під час підрахунку записів для кожного користувача за допомогою COUNT (*).

>> ВИБЕРІТЬ користувача, COUNT (*) ВІД даних.соціальний GROUP BY User;

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

>> ВИБЕРІТЬ користувача, вік, веб-сайт, COUNT (*) ВІД даних.соціальний веб-сайт GROUP BY;

Якщо ми хочемо підрахувати рядки, використовуючи речення WHERE, яке містить деякі умови поряд із GROUP BY та COUNT (*), ви також можете зробити це. Наведений нижче запит отримає та підрахує записи стовпців: "Користувач", "Веб-сайт" та "Вік", де значення веб-сайту має значення "Instagram" та "Snapchat". Ви бачите, що у нас є лише 1 запис для обох веб-сайтів для різних користувачів.

>> ВИБЕРІТЬ користувача, веб-сайт, вік, COUNT (*) ВІД даних.social WHERE Веб-сайт = 'Instagram' Або Веб-сайт = 'Snapchat' ГРУПА ЗА ВЕБ-сайтом, вік;

MySQL COUNT (*) із пропозицією GROUP BY та ORDER BY

Спробуємо речення GROUP BY та ORDER BY спільно з методом COUNT (). Давайте отримаємо та підрахуємо рядки таблиці „social“, розташовуючи дані за спаданням за допомогою цього запиту:

>> ВИБЕРІТЬ користувача, веб-сайт, вік, COUNT (*) ВІД даних.соціальна ГРУПА ЗА ВІКОМ ЗАМОВЛЕННЯ ЗА КІЛЬКОСТЮ (*) DESC;

Запит, зазначений нижче, спочатку підраховує рядки, а потім відображає єдині записи, кількість яких COUNT перевищує 2, за зростанням.

>> ВИБЕРІТЬ користувача, вік, COUNT (*) ВІД даних.соціальна ГРУПА ЗА ВІКОМ МАЄ КОЛИШКУ (*)> 2 ЗАМОВЛЕННЯ НА КІЛЬКІ (*) ASC;

Висновок

Ми пройшли всі можливі методи підрахунку відповідних або повторюваних записів, використовуючи метод COUNT () з різними іншими реченнями.

SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...
Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...