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 (*) се използва за преброяване на броя на редовете, пребиваващи в таблицата, или броя на редовете според даденото условие. За да проверите общия брой редове в таблица, „социално“ опитайте заявката по-долу. Имаме общо 15 реда в таблицата според резултата.

>> ИЗБЕРЕТЕ БРОЙ (*) ОТ данни.социална;

Погледнете метода COUNT (*), докато дефинирате някои условия. Трябва да извлечем броя редове, където потребителското име е същото като „Mustafa“. Можете да видите, че имаме само 4 записа за това конкретно име.

>> ИЗБЕРЕТЕ БРОЙ (*) ОТ данни.социална WHERE Потребител = 'Mustafa';

За да вземете общата сума от редове, където уебсайтът на потребителите е „Instagram“, опитайте по-долу заявената заявка. Таблицата „социална“ има само 4 записа за уебсайта „Instagram“.

>> ИЗБЕРЕТЕ БРОЙ (*) ОТ данни.социална 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“. Второто БРОЙ (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 (*).

>> ИЗБЕРЕТЕ потребител, БРОЙ (*) ОТ данни.социална ГРУПА ПО ПОТРЕБИТЕЛ;

Можете да изберете повече от две колони, докато извършвате броенето на редове заедно с клаузата GROUP BY, както следва.

>> ИЗБЕРЕТЕ потребител, възраст, уебсайт, БРОЙ (*) ОТ данните.социален GROUP BY уебсайт;

Ако искаме да броим редове, докато използваме клаузата WHERE, имаща някои условия в нея заедно с GROUP BY и COUNT (*), можете също да направите това. Заявката по-долу ще извлече и преброи записите на колони: „Потребител“, „Уебсайт“ и „Възраст“, ​​където стойността на уебсайта е само „Instagram“ и „Snapchat“. Виждате, че имаме само 1 запис за двата уебсайта за различни потребители.

>> ИЗБЕРЕТЕ потребител, уебсайт, възраст, БРОЙ (*) ОТ данните.социални КЪДЕ Уебсайт = 'Instagram' Или Уебсайт = 'Snapchat' ГРУПА ПО Уебсайт, Възраст;

MySQL COUNT (*) с клауза GROUP BY и ORDER BY

Нека опитаме клаузите GROUP BY и ORDER BY заедно с метода COUNT (). Нека вземем и преброим редовете на таблицата „social“, докато подреждаме данните в низходящ ред, като използваме тази заявка:

>> ИЗБЕРЕТЕ потребител, уебсайт, възраст, БРОЙ (*) ОТ данните.социална ГРУПА ПО ВЪЗРАСТ ПОРЪЧКА ПО БРОЙ (*) DESC;

Посочената по-долу заявка първо ще преброи редовете, след което ще покаже единствените записи с COUNT по-големи от 2 във възходящ ред.

>> ИЗБЕРЕТЕ потребител, възраст, БРОЙ (*) ОТ данни.социална ГРУПА ПО ВЪЗРАСТ С БРОЙ (*)> 2 ПОРЪЧКА ПО БРОЙ (*) ASC;

Заключение

Преминахме през всички възможни методи за преброяване на съвпадащите или дублиращи се записи, използвайки метода COUNT () с различни други клаузи.

Как да променяте настройките на мишката и тъчпада с помощта на Xinput в Linux
Повечето дистрибуции на Linux се доставят с библиотека “libinput” по подразбиране за обработка на входни събития в системата. Той може да обработва вх...
Пренастройте бутоните на мишката си по различен начин за различен софтуер с X-Mouse Button Control
Може би се нуждаете от инструмент, който може да промени контрола на мишката с всяко приложение, което използвате. Ако случаят е такъв, можете да изпр...
Преглед на безжична мишка на Microsoft Sculpt Touch
Наскоро прочетох за Microsoft Sculpt Touch безжична мишка и реших да я купя. След като го използвах известно време, реших да споделя опита си с него. ...