Záznamy MySQL odpovídající záznamům s COUNT

Mysql Count Matching Records With Count



K redundanci dat dochází z mnoha důvodů. Několik komplikovaných povinností, se kterými byste se při práci s databázovými systémy měli vypořádat, se pokouší objevit duplicitní hodnoty. Za tímto účelem použijeme agregační metodu COUNT (). Metoda COUNT () vrací součet řádků umístěných v konkrétní tabulce. Funkce COUNT () vám umožňuje sečíst všechny řádky nebo pouze řádky odpovídající definované podmínce. V této příručce se dozvíte, jak identifikovat duplicitní hodnoty pro jeden nebo možná více sloupců MySQL pomocí COUNT (). Metoda COUNT () má následující tři typy:

  • POČET(*)
  • COUNT (výraz)
  • COUNT (výraz DISTINCT)

Ujistěte se, že máte ve svém systému nainstalovanou MySQL. Otevřete klientský shell příkazového řádku MySQL a pokračujte zadáním hesla. Podíváme se na několik příkladů pro počítání odpovídajících hodnot pomocí metody COUNT ().









Ve schématu „data“ máme tabulku „sociální“. Zkontrolujme jeho záznam pomocí následujícího dotazu.



>> VYBRAT * Z data .Sociální;





MySQL COUNT (*)

Metoda COUNT (*) se používá k počítání počtu řádků umístěných v tabulce nebo počítání počtu řádků podle dané podmínky. Chcete -li zkontrolovat celkový počet řádků v tabulce, „sociální“ zkuste následující dotaz. V tabulce máme podle výsledku celkem 15 řádků.

>> VYBRAT POČET (*) Z data .Sociální;



Podívejte se na metodu COUNT (*) při definování některých podmínek. Musíme načíst počet řádků, kde je uživatelské jméno stejné jako „Mustafa“. Vidíte, že máme pouze 4 záznamy pro toto konkrétní jméno.

>> VYBRAT POČET (*) Z data .Sociální KDE Uživatel ='Mustafa';

Chcete-li načíst celkový součet řádků, kde je webová stránka uživatelů „Instagram“, zkuste níže uvedený dotaz. Tabulka „sociální“ má pouze 4 záznamy pro web „Instagram“.

>> VYBRAT POČET (*) Z data .Sociální KDE webová stránka=„Instagram“;

Celkový počet řádků, kde je ‘Věk‘ větší než 18, získáte takto:

>> VYBRAT POČET (*) Z data .Sociální KDE Stáří> 18;

Pojďme načíst data sloupců „Uživatel“ a „Web“ z tabulky, kde uživatelské jméno začíná abecedou „M“. Vyzkoušejte níže uvedené pokyny na shellu.

>> VYBRAT Uživatel ,webová stránka Z data .Sociální KDE Uživatel jako „M%';

MySQL COUNT (výraz)

V MySQL se metoda COUNT (výraz) používá pouze tehdy, když chcete počítat hodnoty jiné než Null ve sloupci ‘výraz’. „Výraz“ by byl název libovolného sloupce. Ukažme si to na jednoduchém příkladu. Počítali jsme pouze nenulové hodnoty ve sloupci „Web“, který souvisí se sloupcem „Věk“ s hodnotou rovnou „25“. Vidět! Máme pouze 4 záznamy, které nemají hodnotu null, pro uživatele ve věku „25“, kteří používají webové stránky.

>> VYBRAT POČET (webová stránka) Z data .Sociální KDE Stáří= 25;

MySQL COUNT (výraz DISTNCT)

V MySQL se metoda COUNT (výraz DISTINCT) používá k součtu hodnot bez hodnoty Null a odlišných hodnot ve sloupci „výraz“. Abychom ve sloupci „Věk“ spočítali odlišný počet nenulových hodnot, použili jsme níže uvedený dotaz. V tabulce „sociální“ najdete 6 nenulových a odlišných záznamů sloupce „Věk“. To znamená, že máme celkem 6 lidí různého věku.

>> VYBRAT POČET ( ODLIŠNÝ Stáří) Z data .Sociální;

MySQL COUNT (IF (výraz))

Pro velký důraz byste měli sloučit COUNT () s funkcemi řízení toku. Pro začátek můžete pro část výrazu používaného v metodě COUNT () použít funkci IF (). Může být velmi užitečné to provést, aby bylo možné rychle rozdělit informace uvnitř databáze. Budeme počítat počet řádků s různými věkovými podmínkami a rozdělit je do tří různých sloupců, které lze říci jako kategorie. Nejprve bude COUNT (IF) počítat řádky s věkem menším než 20 let a tento počet uloží do nového sloupce s názvem „Teenage“. Druhý COUNT (IF) počítá řádky ve věku od 20 do 30 let a ukládá je do sloupce „Mladý“. Za třetí, poslední počítá řádky starší než 30 let a uložené do sloupce „Zralé“. V našem záznamu je 5 teenagerů, 9 mladých a pouze 1 dospělý člověk.

>> VYBRAT POČET ( LI (Stáří< dvacet,1, NULA ))'Dospívající', POČET ( LI (Stáří MEZI dvacet A 30,1, NULA ))'Mladá', POČET ( LI (Stáří> 30,1, NULA ))'Zralý' Z data .Sociální;

MySQL COUNT (*) s klauzulí GROUP BY

Příkaz GROUP BY je instrukce SQL používající pro řádky skupin se stejnými hodnotami. Vrátí celkový počet hodnot nacházejících se v každé skupině. Pokud například chcete zkontrolovat číslo každého uživatele samostatně, musíte při počítání záznamů pro každého uživatele pomocí COUNT (*) definovat sloupec „Uživatel“ pomocí klauzule GROUP BY.

>> VYBRAT Uživatel , POČET (*) Z data .Sociální SKUPINA VYTVOŘENÁ Uživatel ;

Při provádění počítání řádků společně s klauzulí GROUP BY můžete buď vybrat více než dva sloupce, a to následovně.

>> VYBRAT Uživatel ,Stáří,webová stránka, POČET (*) Z data .Sociální SKUPINA VYTVOŘENÁ webová stránka;

Pokud chceme počítat řádky při použití klauzule WHERE, která obsahuje určité podmínky vedle GROUP BY a COUNT (*), můžete to také udělat. Níže uvedený dotaz načte a spočítá záznamy sloupců: „Uživatel“, „Web“ a „Věk“, kde je hodnota webu pouze „Instagram“ a „Snapchat“. Vidíte, že máme pouze 1 záznam pro oba weby pro různé uživatele.

>> VYBRAT Uživatel ,webová stránka,Stáří, POČET (*) Z data .Sociální KDE webová stránka=„Instagram“ Nebo webová stránka=„Snapchat“ SKUPINA VYTVOŘENÁ webová stránka,Stáří;

MySQL COUNT (*) s klauzulí GROUP BY a ORDER BY

Vyzkoušejte klauzule GROUP BY a ORDER BY společně s metodou COUNT (). Pojďme načíst a spočítat řádky tabulky „sociální“ a uspořádat data sestupně pomocí tohoto dotazu:

>> VYBRAT Uživatel ,webová stránka,Stáří, POČET (*) Z data .Sociální SKUPINA VYTVOŘENÁ Stáří SEŘADIT PODLE POČET (*) DESC ;

Níže uvedený dotaz nejprve spočítá řádky a poté zobrazí pouze záznamy s COUNT větším než 2 ve vzestupném pořadí.

>> VYBRAT Uživatel ,Stáří, POČET (*) Z data .Sociální SKUPINA VYTVOŘENÁ Stáří MÁM POČET (*) > 2 SEŘADIT PODLE POČET (*) ASC ;

Závěr

Prošli jsme všechny možné metody pro počítání odpovídajících nebo duplicitních záznamů pomocí metody COUNT () s různými dalšími klauzulemi.