MySQL Count Matching Records with COUNT

Mysql Count Matching Records With Count



Az adatok redundanciája számos okból következik be. Az adatbázis -rendszerekkel való munka során bonyolult feladatok közül több is megkísérli az ismétlődő értékek felfedezését. Ebből a célból a COUNT () összesítési módszert fogjuk használni. A COUNT () metódus egy adott táblázatban található sorok összegét adja vissza. A COUNT () függvény lehetővé teszi az összes sor összesítését, vagy csak a megadott feltételnek megfelelő sorok összegzését. Ebben az útmutatóban megtudhatja, hogyan lehet azonosítani egy vagy több MySQL oszlop ismétlődő értékeit a COUNT () használatával. A COUNT () metódusnak a következő három típusa van:

  • SZÁMOL(*)
  • COUNT (kifejezés)
  • COUNT (DISTINCT kifejezés)

Győződjön meg arról, hogy a MySQL telepítve van a rendszerre. Nyissa meg a MySQL parancssori klienshéjat, és a folytatáshoz adja meg jelszavát. Megtekintünk néhány példát az egyező értékek COUNT () módszerrel történő számlálására.









Van egy „szociális” táblázatunk az „adatok” sémánkban. Ellenőrizzük a rekordját a következő lekérdezés segítségével.



>> SELECT * TÓL TŐL adat .Társadalmi;





MySQL COUNT (*)

A COUNT (*) módszerrel megszámoljuk a táblázatban található sorok számát, vagy a sorok számát az adott feltételnek megfelelően. A táblázat sorainak teljes számának ellenőrzéséhez próbálja ki a „közösségi” -t az alábbi lekérdezéssel. Összesen 15 sor van a táblázatban az eredmény alapján.

>> SELECT SZÁMOL (*) TÓL TŐL adat .Társadalmi;



Tekintse meg a COUNT (*) módszert néhány feltétel meghatározása közben. Meg kell keresnünk azon sorok számát, ahol a felhasználónév megegyezik a „Mustafa” névvel. Láthatjuk, hogy ehhez a névhez csak 4 rekordunk van.

>> SELECT SZÁMOL (*) TÓL TŐL adat .Társadalmi AHOL Felhasználó ='Mustafa';

Ha le szeretné kérni a sorok teljes összegét, ahol a felhasználók webhelye „Instagram”, próbálja ki az alább megadott lekérdezést. A „social” táblázat csak 4 rekordot tartalmaz az „Instagram” webhelyre vonatkozóan.

>> SELECT SZÁMOL (*) TÓL TŐL adat .Társadalmi AHOL Weboldal=„Instagram”;

A sorok teljes számának lekérése, ahol az „életkor” meghaladja a 18 -at, a következő:

>> SELECT SZÁMOL (*) TÓL TŐL adat .Társadalmi AHOL Kor> 18;

Töltsük le a „Felhasználó” és a „Webhely” oszlopok adatait egy táblázatból, ahol a felhasználónév „M” betűvel kezdődik. Próbálja ki az alábbi utasítást a héjon.

>> SELECT Felhasználó ,Weboldal TÓL TŐL adat .Társadalmi AHOL Felhasználó mint „M%';

MySQL COUNT (kifejezés)

A MySQL-ben a COUNT (kifejezés) metódust csak akkor használják, ha a „kifejezés” oszlop nem-Null értékeit szeretné megszámolni. A „kifejezés” bármely oszlop neve lenne. Vegyünk egy egyszerű példát rá. Csak a „Webhely” oszlop nem-null értékét számítottuk, amely a „Kor” oszlophoz kapcsolódik, amelynek értéke „25”. Lát! A weboldalakat használó, „25” éves felhasználóknak mindössze 4 nem null rekordunk van.

>> SELECT SZÁMOL (Weboldal) TÓL TŐL adat .Társadalmi AHOL Kor= 25;

MySQL COUNT (DISTNCT kifejezés)

A MySQL-ben a COUNT (DISTINCT kifejezés) metódust használják a nem-null értékek és a „kifejezés” oszlop különböző értékeinek összegzésére. Az „Életkor” oszlop különböző számú nem null értékének megszámlálásához az alábbi lekérdezést használtuk. A „social” táblázatból 6 nem null és különálló rekordot talál az „Age” oszlopról. Ez azt jelenti, hogy összesen 6 különböző korú emberünk van.

>> SELECT SZÁMOL ( KÜLÖNBÖZŐ Kor) TÓL TŐL adat .Társadalmi;

MySQL COUNT (HA (kifejezés))

Nagy hangsúlyt kell fektetnie a COUNT () összekapcsolására az áramlásszabályozó funkciókkal. Kezdetben a COUNT () metódusban használt kifejezés egy részéhez használhatja az IF () függvényt. Ez nagyon hasznos lehet, ha gyorsan lebontja az információkat az adatbázisban. Meg fogjuk számolni a különböző életkori feltételekkel rendelkező sorok számát, és három különböző oszlopra osztjuk őket, amelyek kategóriáknak mondhatók. Először is, a COUNT (IF) a 20 évnél fiatalabb sorokat számolja, és ezt a számot egy „Teenage” nevű új oszlopba menti. A Második számlálás (HA) a 20 és 30 év közötti sorokat számolja, miközben a „Fiatal” oszlopba menti. Harmadszor, az utolsó számolja a 30 évnél idősebb sorokat, és az „Érett” oszlopba menti őket. 5 tinédzser, 9 fiatal és csak 1 érett személy szerepel a nyilvántartásunkban.

>> SELECT SZÁMOL ( HA (Kor< húsz,1, NULLA ))'Tizenéves', SZÁMOL ( HA (Kor KÖZÖTT húsz ÉS 30,1, NULLA ))'Fiatal', SZÁMOL ( HA (Kor> 30,1, NULLA ))'Érett' TÓL TŐL adat .Társadalmi;

MySQL COUNT (*) GROUP BY záradékkal

A GROUP BY utasítás egy SQL utasítás, amely azonos értékű csoportsorokra használ. Visszaadja az egyes csoportokban található értékek teljes számát. Például, ha külön szeretné ellenőrizni az egyes felhasználók számát, akkor meg kell határoznia a „Felhasználó” oszlopot a GROUP BY záradékkal, miközben a COUNT (*) értékű felhasználók rekordjait számolja.

>> SELECT Felhasználó , SZÁMOL (*) TÓL TŐL adat .Társadalmi CSOPORTOSÍT Felhasználó ;

A sorok számlálása közben a GROUP BY záradékkal együtt kettőnél több oszlopot is kijelölhet, az alábbiak szerint.

>> SELECT Felhasználó ,Kor,Weboldal, SZÁMOL (*) TÓL TŐL adat .Társadalmi CSOPORTOSÍT Weboldal;

Ha a WHERE záradék használata közben számozni szeretnénk sorokat, amelyekben a GROUP BY és a COUNT (*) mellett bizonyos feltételek vannak, akkor ezt is megteheti. Az alábbi lekérdezés lekéri és számolja a „Felhasználó”, „Webhely” és „Kor” oszlopok rekordjait, ahol a webhely értéke „Instagram” és „Snapchat”. Láthatjuk, hogy csak 1 rekordunk van mindkét webhelyen különböző felhasználók számára.

>> SELECT Felhasználó ,Weboldal,Kor, SZÁMOL (*) TÓL TŐL adat .Társadalmi AHOL Weboldal=„Instagram” Vagy Weboldal='Snapchat' CSOPORTOSÍT Weboldal,Kor;

MySQL COUNT (*) GROUP BY és ORDER BY záradékkal

Próbáljuk ki a GROUP BY és ORDER BY záradékokat COUNT () metódussal együtt. Lekérjük és megszámoljuk a „social” táblázat sorait, miközben az adatokat csökkenő sorrendbe rendezzük a következő lekérdezés használatával:

>> SELECT Felhasználó ,Weboldal,Kor, SZÁMOL (*) TÓL TŐL adat .Társadalmi CSOPORTOSÍT Kor RENDEZÉS SZÁMOL (*) DESC ;

Az alábbiakban megadott lekérdezés először megszámolja a sorokat, majd növekvő sorrendben jeleníti meg az egyetlen rekordot, amelynek COUNT értéke nagyobb, mint 2.

>> SELECT Felhasználó ,Kor, SZÁMOL (*) TÓL TŐL adat .Társadalmi CSOPORTOSÍT Kor VAN SZÁMOL (*) > 2 RENDEZÉS SZÁMOL (*) ASC ;

Következtetés

Végigjártuk az összes lehetséges módszert az egyező vagy ismétlődő rekordok megszámlálására a COUNT () metódussal különböző más záradékokkal.