MySQL MariaDB

MySQL Policz pasujące rekordy za pomocą COUNT

MySQL Policz pasujące rekordy za pomocą COUNT

Redundancja danych występuje z wielu powodów. Kilka skomplikowanych obowiązków, z którymi należy się uporać podczas pracy z systemami bazodanowymi, to próba wykrycia zduplikowanych wartości. W tym celu użyjemy metody agregującej COUNT(). Metoda COUNT() zwraca sumę wierszy znajdujących się w określonej tabeli. Funkcja COUNT() pozwala zsumować wszystkie wiersze lub tylko wiersze spełniające zdefiniowany warunek. W tym przewodniku dowiesz się, jak zidentyfikować zduplikowane wartości dla jednej lub więcej kolumn MySQL za pomocą funkcji COUNT(). Metoda COUNT() ma następujące trzy typy:

Określ, że masz zainstalowany MySQL w swoim systemie. Otwórz powłokę klienta wiersza poleceń MySQL i wprowadź hasło, aby kontynuować. Przyjrzymy się kilku przykładom zliczania pasujących wartości za pomocą metody COUNT().

W naszym schemacie „data” mamy tabelę „social”. Sprawdźmy jego rekord za pomocą następującego zapytania.

>> WYBIERZ * Z danych.społeczny;

LICZBA MYSQL(*)

Metoda COUNT(*) służy do zliczania liczby wierszy znajdujących się w tabeli lub zliczania liczby wierszy zgodnie z zadanym warunkiem. Aby sprawdzić łączną liczbę wierszy w tabeli, „społecznościowe” wypróbuj poniższe zapytanie. W tabeli mamy łącznie 15 wierszy zgodnie z wynikiem.

>> WYBIERZ LICZNIK(*) Z danych.społeczny;

Rzuć okiem na metodę COUNT(*) podczas definiowania niektórych warunków. Musimy pobrać liczbę wierszy, w których nazwa użytkownika jest taka sama jak „Mustafa”. Jak widzisz, mamy tylko 4 rekordy dla tej konkretnej nazwy.

>> WYBIERZ LICZNIK(*) Z danych.społecznościowy WHERE Użytkownik = 'Mustafa';

Aby pobrać łączną sumę wierszy, w których witryna użytkownika to „Instagram”, wypróbuj poniższe zapytanie. Tabela „społecznościowe” zawiera tylko 4 rekordy dla witryny „Instagram”.

>> WYBIERZ LICZNIK(*) Z danych.serwis społecznościowy WHERE = 'Instagram';

Aby pobrać całkowitą liczbę wierszy, w których „Wiek” jest większy niż 18, należy:

>> WYBIERZ LICZNIK(*) Z danych.społeczne GDZIE Wiek > 18 lat;

Pobieramy dane kolumn 'Użytkownik' i 'Witryna' z tabeli, gdzie nazwa Użytkownika zaczyna się od litery 'M'. Wypróbuj poniższą instrukcję na obudowie.

>> SELECT User, Website FROM data.społecznościowy WHERE Użytkownik taki jak 'M%';

LICZBA MySQL(wyrażenie)

W MySQL metoda COUNT(expression) jest używana tylko wtedy, gdy chcesz zliczyć wartości inne niż Null w kolumnie „expression”. „Wyrażenie” byłoby nazwą dowolnej kolumny. Weźmy prosty przykład. Liczyliśmy tylko niepuste wartości kolumny „Witryna”, która jest powiązana z kolumną „Wiek” mającą wartość równą „25”. Widzieć! Mamy tylko 4 niepuste rekordy dla użytkowników w wieku '25', którzy korzystają ze stron internetowych.

>> WYBIERZ LICZNIK(Witryna) Z danych.społeczne GDZIE Wiek = 25;

MySQL COUNT (wyrażenie DISTNCT)

W MySQL metoda COUNT(DISTINCT expression) służy do sumowania wartości innych niż Null i odrębnych wartości kolumny „expression”. Aby policzyć wyraźną liczbę wartości innych niż null w kolumnie „Wiek”, użyliśmy poniższego zapytania. Znajdziesz 6 niezerowych i odrębnych rekordów kolumny „Wiek” z tabeli „społeczne”. Oznacza to, że mamy w sumie 6 osób w różnym wieku.

>> WYBIERZ LICZBĘ (RÓŻNE Wiek) Z danych.społeczny;

LICZBA MySQL(JEŻELI(wyrażenie))

Aby uzyskać duży nacisk, powinieneś połączyć COUNT() z funkcjami kontroli przepływu. Na początek, dla części wyrażenia używanego w metodzie COUNT() możesz użyć funkcji JEŻELI(). Może to być bardzo przydatne, aby zapewnić szybki podział informacji w bazie danych. Będziemy liczyć liczbę wierszy z różnymi warunkami wiekowymi i dzielić je na trzy różne kolumny, które można określić jako kategorie. Po pierwsze, LICZBA (JEŻELI) zlicza wiersze mające mniej niż 20 lat i zapisze tę liczbę w nowej kolumnie o nazwie „Nastoletni”. Drugie LICZENIE(JEŻELI) zlicza wiersze w wieku od 20 do 30 lat, zapisując je w kolumnie „Młody”. Po trzecie, ostatni zlicza wiersze mające wiek powyżej 30 lat i zapisane w kolumnie „Dojrzałe”. W naszym rekordzie mamy 5 nastolatków, 9 młodych i tylko 1 osobę dojrzałą.

>> WYBIERZ LICZNIK(JEŻELI(Wiek < 20,1,NULL)) 'Teenage', COUNT(IF(Age BETWEEN 20 AND  30,1,NULL)) 'Young', COUNT(IF(Age > 30,1,NULL)) 'Dojrzały' Z danych.społeczny;

MySQL COUNT(*) z klauzulą ​​GROUP BY

Instrukcja GROUP BY jest instrukcją SQL używaną dla grup wierszy o tych samych wartościach. Zwraca całkowitą liczbę wartości znajdujących się w każdej grupie. Na przykład, jeśli chcesz sprawdzić numer każdego użytkownika osobno, musisz zdefiniować kolumnę 'Użytkownik' klauzulą ​​GROUP BY podczas zliczania rekordów dla każdego użytkownika z COUNT(*).

>> SELECT User, COUNT(*) FROM data.social GRUPA WEDŁUG Użytkownika;

Możesz wybrać więcej niż dwie kolumny podczas liczenia wierszy wraz z klauzulą ​​GROUP BY w następujący sposób.

>> SELECT Użytkownik, Wiek, Witryna, COUNT(*) Z danych F.serwis społecznościowy GROUP BY;

Jeśli chcemy policzyć wiersze, używając klauzuli WHERE zawierającej pewne warunki obok GROUP BY i COUNT(*), możesz to również zrobić. Poniższe zapytanie pobierze i policzy rekordy kolumn: „Użytkownik”, „Witryna” i „Wiek”, gdzie wartością witryny jest tylko „Instagram” i „Snapchat”. Jak widzisz, mamy tylko 1 rekord dla obu witryn dla różnych użytkowników.

>> SELECT Użytkownik, Witryna, Wiek, COUNT(*) Z danych.społecznościowe WHERE Witryna = „Instagram” Lub Witryna = „Snapchat” GROUP BY Witryna, wiek;

MySQL COUNT(*) z klauzulą ​​GROUP BY i ORDER BY

Wypróbujmy klauzule GROUP BY i ORDER BY łącznie z metodą COUNT(). Pobierzmy i policzmy wiersze tabeli „social”, porządkując dane w kolejności malejącej za pomocą tego zapytania:

>>  SELECT Użytkownik, Witryna, Wiek, COUNT(*) FROM danych.social GRUPA WEDŁUG WIEKU ORDER BY COUNT(*) DESC;

Poniższe zapytanie najpierw zliczy wiersze, a następnie wyświetli jedyne rekordy, których LICZBA jest większa niż 2 w kolejności rosnącej.

>> SELECT Użytkownik, Wiek, COUNT(*) Z danych.social GRUPA WEDŁUG WIEKU MIEJĄC LICZBĘ(*) > 2 ORDER BY COUNT(*) ASC;

Wniosek

Przeszliśmy przez wszystkie możliwe metody liczenia pasujących lub zduplikowanych rekordów za pomocą metody COUNT() z różnymi innymi klauzulami.

Gry Zainstaluj najnowszy emulator Dolphin dla Gamecube i Wii w systemie Linux
Zainstaluj najnowszy emulator Dolphin dla Gamecube i Wii w systemie Linux
Emulator Dolphin pozwala grać w wybrane gry Gamecube i Wii na komputerach osobistych z systemem Linux (PC). Będąc ogólnodostępnym emulatorem gier o o...
Gry Jak korzystać z GameConqueror Cheat Engine w systemie Linux
Jak korzystać z GameConqueror Cheat Engine w systemie Linux
Artykuł zawiera przewodnik dotyczący korzystania z silnika oszukującego GameConqueror w systemie Linux. Wielu użytkowników, którzy grają w gry w syste...
Gry Najlepsze emulatory konsoli do gier dla systemu Linux
Najlepsze emulatory konsoli do gier dla systemu Linux
W tym artykule wymienimy popularne oprogramowanie do emulacji konsoli do gier dostępne dla systemu Linux. Emulacja to warstwa kompatybilności oprogram...