Záznamy MySQL zodpovedajúce záznamom s COUNT

Mysql Count Matching Records With Count



K redundancii údajov dochádza z mnohých dôvodov. Niektoré z komplikovaných povinností, s ktorými by ste sa mali pri práci s databázovými systémami vyrovnať, sa pokúšajú objaviť duplicitné hodnoty. Na tento účel použijeme agregačnú metódu COUNT (). Metóda COUNT () vráti súčet riadkov nachádzajúcich sa v konkrétnej tabuľke. Funkcia COUNT () vám umožňuje sčítať všetky riadky alebo iba riadky zodpovedajúce definovanej podmienke. V tejto príručke sa dozviete, ako identifikovať duplicitné hodnoty pre jeden alebo možno viac stĺpcov MySQL pomocou COUNT (). Metóda COUNT () má nasledujúce tri typy:

  • COUNT (*)
  • COUNT (výraz)
  • COUNT (výraz DISTINCT)

Uistite sa, že máte vo svojom systéme nainštalovaný MySQL. Otvorte klientsky shell príkazového riadka MySQL a pokračujte zadaním hesla. Pozrime sa na niekoľko príkladov na počítanie zodpovedajúcich hodnôt pomocou metódy COUNT ().









V schéme „údaje“ máme tabuľku „sociálna“. Pozrime sa na jeho záznam pomocou nasledujúceho dotazu.



>> VYBERTE * OD údaje .Sociálnej;





MySQL COUNT (*)

Metóda COUNT (*) sa používa na spočítanie počtu riadkov nachádzajúcich sa v tabuľke alebo na spočítanie počtu riadkov podľa danej podmienky. Ak chcete skontrolovať celkový počet riadkov v tabuľke, „sociálne“, skúste použiť nasledujúci dotaz. V tabuľke máme podľa výsledku celkom 15 riadkov.

>> VYBERTE COUNT (*) OD údaje .Sociálnej;



Pozrite sa na metódu COUNT (*) a definujte niektoré podmienky. Musíme načítať počet riadkov, v ktorých je používateľské meno rovnaké ako „Mustafa“. Môžete vidieť, že pre tento konkrétny názov máme iba 4 záznamy.

>> VYBERTE COUNT (*) OD údaje .Sociálnej KDE Používateľ =„Mustafa“;

Ak chcete načítať celkový súčet riadkov, na ktorých je webová stránka používateľov „Instagram“, skúste použiť nižšie uvedený dopyt. Tabuľka „sociálna“ má iba 4 záznamy pre webovú stránku „Instagram“.

>> VYBERTE COUNT (*) OD údaje .Sociálnej KDE Webové stránky=„Instagram“;

Celkový počet riadkov, v ktorých je „Vek“ väčší ako 18, získate takto:

>> VYBERTE COUNT (*) OD údaje .Sociálnej KDE Vek> 18;

Pozrime sa na údaje stĺpcov „Používateľ“ a „Web“ z tabuľky, kde meno používateľa začína abecedou „M“. Skúste nižšie uvedené pokyny na škrupine.

>> VYBERTE Používateľ ,Webové stránky OD údaje .Sociálnej KDE Používateľ Páči sa mi to „M%';

MySQL COUNT (výraz)

V MySQL sa metóda COUNT (výraz) používa iba vtedy, ak chcete v stĺpci „výraz“ počítať hodnoty, ktoré nemajú hodnotu Null. „Výraz“ by bol názov akéhokoľvek stĺpca. Ukážme si to na jednoduchom príklade. Počítali sme iba nenulové hodnoty v stĺpci „Webové stránky“, ktorý súvisí so stĺpcom „Vek“ s hodnotou rovnajúcou sa „25“. Vidíte! Máme iba 4 záznamy, ktoré nie sú neplatné, pre používateľov vo veku „25 rokov“, ktorí používajú webové stránky.

>> VYBERTE COUNT (Webové stránky) OD údaje .Sociálnej KDE Vek= 25;

MySQL COUNT (výraz DISTNCT)

V MySQL sa metóda COUNT (výraz DISTINCT) používa na súčet hodnôt, ktoré nemajú hodnotu Null, a odlišných hodnôt stĺpca „výraz“. Na započítanie odlišného počtu nenulových hodnôt v stĺpci „Vek“ sme použili nižšie uvedený dotaz. V tabuľke „sociálne“ nájdete 6 nenulových a odlišných záznamov stĺpca „Vek“. To znamená, že máme celkom 6 ľudí rôzneho veku.

>> VYBERTE COUNT ( ODLIŠNÝ Vek) OD údaje .Sociálnej;

MySQL COUNT (IF (výraz))

Pre veľký dôraz by ste mali zlúčiť COUNT () s funkciami riadenia toku. Na začiatok, pre časť výrazu používaného v metóde COUNT (), môžete použiť funkciu IF (). To môže byť veľmi užitočné, ak chcete poskytnúť rýchle rozdelenie informácií vo vnútri databázy. Budeme počítať počet riadkov s rôznymi vekovými podmienkami a rozdeliť ich do troch rôznych stĺpcov, ktoré možno povedať ako kategórie. COUNT (IF) bude najskôr počítať riadky mladšie ako 20 rokov a tento počet uloží do nového stĺpca s názvom „Teenage“. Druhý COUNT (IF) počíta riadky vo veku od 20 do 30 rokov a ukladá ich do stĺpca „Mladý“. Po tretie, posledný počíta riadky staršie ako 30 rokov a uložené do stĺpca „Staršie“. V našom zázname je 5 tínedžerov, 9 mladých a iba 1 zrelý človek.

>> VYBERTE COUNT ( AK (Vek< dvadsať,1, NULOVÝ ))„Teenage“, COUNT ( AK (Vek MEDZI MEZI dvadsať A 30,1, NULOVÝ ))„Mladý“, COUNT ( AK (Vek> 30,1, NULOVÝ ))„Zrelý“ OD údaje .Sociálnej;

MySQL COUNT (*) s klauzulou GROUP BY

Príkaz GROUP BY je inštrukcia SQL, ktorá sa používa pre skupinové riadky s rovnakými hodnotami. Vráti celkový počet hodnôt nachádzajúcich sa v každej skupine. Ak napríklad chcete skontrolovať číslo každého používateľa oddelene, musíte definovať stĺpec „Používateľ“ pomocou klauzuly GROUP BY a počítať záznamy pre každého používateľa pomocou COUNT (*).

>> VYBERTE Používateľ , COUNT (*) OD údaje .Sociálnej SKUPINA PODĽA Používateľ ;

Pri vykonávaní počítania riadkov spolu s klauzulou GROUP BY môžete buď vybrať viac ako dva stĺpce, a to nasledovne.

>> VYBERTE Používateľ ,Vek,Webové stránky, COUNT (*) OD údaje .Sociálnej SKUPINA PODĽA Webové stránky;

Ak chceme počítať riadky pri použití klauzuly WHERE, ktorá obsahuje určité podmienky vedľa skupín GROUP BY a COUNT (*), môžete to tiež urobiť. Nasledujúci dotaz stiahne a spočíta záznamy stĺpcov: „Používateľ“, „Webová stránka“ a „Vek“, kde je hodnota webových stránok iba „Instagram“ a „Snapchat“. Môžete vidieť, že máme iba 1 záznam pre oba weby pre rôznych používateľov.

>> VYBERTE Používateľ ,Webové stránky,Vek, COUNT (*) OD údaje .Sociálnej KDE Webové stránky=„Instagram“ Alebo Webové stránky=„Snapchat“ SKUPINA PODĽA Webové stránky,Vek;

MySQL COUNT (*) s klauzulou GROUP BY a ORDER BY

Vyskúšajme doložky GROUP BY a ORDER BY spoločne s metódou COUNT (). Načítajme a spočítajme riadky tabuľky „sociálne“ a usporiadajme údaje zostupne pomocou tohto dopytu:

>> VYBERTE Používateľ ,Webové stránky,Vek, COUNT (*) OD údaje .Sociálnej SKUPINA PODĽA Vek ZORADIŤ PODĽA COUNT (*) DESC ;

Nasledujúci dotaz najskôr spočíta riadky a potom zobrazí iba záznamy, ktoré majú COUNT viac ako 2 vzostupne.

>> VYBERTE Používateľ ,Vek, COUNT (*) OD údaje .Sociálnej SKUPINA PODĽA Vek MAJÚCI COUNT (*) > 2 ZORADIŤ PODĽA COUNT (*) ASC ;

Záver

Prešli sme všetkými možnými metódami na počítanie zhodných alebo duplicitných záznamov pomocou metódy COUNT () s inými inými doložkami.