MySQL MariaDB

MySQL loendage kirjega COUNT vastavad kirjed

MySQL loendage kirjega COUNT vastavad kirjed

Andmete koondamine toimub paljudel põhjustel. Mitmed keerukad ülesanded, millega peaksite andmebaasisüsteemidega töötades toime tulema, üritavad leida dubleerivaid väärtusi. Sel eesmärgil kasutame koondmeetodit COUNT (). Meetod COUNT () tagastab konkreetses tabelis asuvate ridade summa. Funktsioon COUNT () võimaldab teil summeerida kõik read või ainult määratletud tingimusele vastavad read. Selles juhendis saate teada, kuidas tuvastada ühe või võib-olla mitme MySQL-veeru duplikaatväärtusi, kasutades COUNT (). Meetodil COUNT () on järgmised kolm tüüpi:

Tehke kindel, et teie arvutisse on installitud MySQL. Avage MySQL käsurea kliendi kest ja sisestage jätkamiseks oma parool. Vaatame mõningaid näiteid sobitatavate väärtuste loendamiseks meetodi COUNT () abil.

Meie skeemis „andmed” on tabel „sotsiaalne”. Kontrollime selle kirjet järgmise päringu kaudu.

>> SELECT * FROM andmetest.sotsiaalne;

MySQL COUNT (*)

COUNT (*) meetodit kasutatakse tabelis olevate ridade arvu loendamiseks või ridade arvu loendamiseks vastavalt antud tingimusele. Tabeli ridade koguarvu kontrollimiseks proovige 'sotsiaalne' allolevat päringut. Tulemuses on meil tabelis kokku 15 rida.

>> SELECT COUNT (*) andmetest.sotsiaalne;

Mõne tingimuse määratlemisel heitke pilk meetodile COUNT (*). Peame tooma ridade arvu, kus kasutajanimi on sama mis 'Mustafa'. Näete, et meil on selle konkreetse nime jaoks ainult 4 kirjet.

>> SELECT COUNT (*) andmetest.sotsiaalne WHERE Kasutaja = 'Mustafa';

Ridade kogusumma toomiseks, kus kasutajate veebisait on Instagram, proovige allpool toodud päringut. Tabelis "sotsiaalne" on ainult 4 kirjet veebisaidi "Instagram" jaoks.

>> SELECT COUNT (*) andmetest.sotsiaalne WHERE veebisait = 'Instagram';

Ridade koguarvu saamiseks, kui 'Vanus' on suurem kui 18, on järgmine:

>> SELECT COUNT (*) andmetest.sotsiaalne KUS Vanus> 18;

Toome veergude 'Kasutaja' ja 'Veebisait' andmed tabelist, kus kasutajanimi algab tähestikuga 'M'. Proovige allpool toodud kestal olevaid juhiseid.

>> VALI kasutaja, veebisaidi andmed.sotsiaalne WHERE Kasutajale meeldib 'M%';

MySQL COUNT (avaldis)

MySQL-is kasutatakse meetodit COUNT (avaldis) ainult siis, kui soovite lugeda veeru 'avaldis' mittetühiseid väärtusi. Väljend oleks mis tahes veeru nimi. Võtame selle lihtsa näite. Oleme lugenud ainult veeru „Veebisait” nullväärtusi, mis on seotud veeruga „Vanus”, mille väärtus on võrdne väärtusega „25”. Vaata! Meil on ainult 4 mitteregulaarset kirjet kasutajatele, kelle vanus on 25 aastat ja kes kasutavad veebisaite.

>> VALI COUNT andmetest (veebisait).sotsiaalne KUS Vanus = 25;

MySQL COUNT (DISTNCT avaldis)

MySQL-is kasutatakse meetodit COUNT (DISTINCT avaldis) veeru 'avaldis' mittetühiste ja eraldiseisvate väärtuste summeerimiseks. Veerus „Vanus” erineva arvu mitt nullväärtuste lugemiseks oleme kasutanud allolevat päringut. Tabelist „sotsiaalne” leiate veeru „Vanus” 6 nullist eraldatud kirjet. See tähendab, et meil on kokku 6 erinevas vanuses inimest.

>> VALI COUNT andmetest (DISTINCT Age).sotsiaalne;

MySQL COUNT (IF (avaldis))

Suure rõhuasetuse saamiseks peaksite COUNT () ühendama voo juhtimise funktsioonidega. Alustuseks võite kasutada meetodis COUNT () kasutatud avaldise osa funktsiooni IF (). See võib olla väga kasulik, et pakkuda andmebaasis kiiret teavet. Loeme erinevate vanusetingimustega ridade arvu ja jagame need kolme erinevasse veergu, mida võib öelda kategooriatena. Kõigepealt loeb COUNT (IF) alla 20-aastaseid ridu ja salvestab selle arvu uude veergu nimega „Teismelised”. Teine COUNT (IF) loeb ridu vanusega 20–30, salvestades selle veergu „Noor”. Kolmandaks loeb viimane ridu, mille vanus on üle 30 ja mis on salvestatud veergu „Küps”. Meie rekordis on 5 teismelist, 9 noort ja ainult 1 küps inimene.

>> SELECT COUNT (IF (vanus < 20,1,NULL)) 'Teenage', COUNT(IF(Age BETWEEN 20 AND  30,1,NULL)) 'Young', COUNT(IF(Age > 30,1, NULL)) „Küps” andmetest.sotsiaalne;

MySQL COUNT (*) koos grupi BY klausliga

GROUP BY-lause on SQL-käsk, mida kasutatakse samade väärtustega rühmaridade jaoks. See tagastab igas rühmas olevate väärtuste koguarvu. Näiteks kui soovite kontrollida iga kasutaja numbrit eraldi, peate määratlema veeru „Kasutaja” klausliga GROUP BY, lugedes iga kasutaja (COUNT) (*) kirjeid.

>> SELECT User, COUNT (*) FROM data.sotsiaalne GRUPP kasutaja järgi;

Ridade loendamisel koos klausliga GROUP BY saate valida kas rohkem kui kaks veergu järgmiselt.

>> VALI kasutaja, vanus, veebisait, COUNT (*) FROM andmetest.sotsiaalne GROUP BY Veebileht;

Kui tahame lugeda ridu WHERE klausli kasutamisel, milles on grupi GROUP BY ja COUNT (*) kõrval mõned tingimused, saate ka seda teha. Allpool olev päring tõmbab ja loendab veergude kirjed: „Kasutaja”, „Veebisait” ja „Vanus”, kus veebisaidi väärtus on ainult „Instagram” ja „Snapchat”. Näete, et meil on mõlema veebisaidi jaoks ainult 1 kirje erinevatele kasutajatele.

>> Valige kasutaja, veebisait, vanus, COUNT (*) andmetest.sotsiaalne WHERE Veebileht = 'Instagram' Või Veebileht = 'Snapchat' GROUP BY Veebileht, vanus;

MySQL COUNT (*) koos grupi BY ja ORDER BY klausliga

Proovime klausleid GROUP BY ja ORDER BY koos meetodiga COUNT (). Toome ja loendame tabeli 'social' read, korraldades andmed selle päringu abil kahanevas järjekorras:

>> Valige kasutaja, veebisait, vanus, COUNT (*) andmetest.sotsiaalne RÜHM vanuse järgi TELLIMINE MAAKONNA JÄRGI (*) DESC;

Allpool esitatud päring loeb kõigepealt read ja kuvab seejärel ainsad kirjed, mille COUNT on suurem kui 2 kasvavas järjekorras.

>> Valige kasutaja, vanus, COUNT (*) andmetest.sotsiaalne RÜHM vanuse järgi, KUI ARV (*)> 2 TELLI MAAKONNA JÄRGI (*) ASC;

Järeldus

Oleme läbinud kõik võimalikud meetodid sobivate või duplikaatide arvestamiseks, kasutades meetodit COUNT () koos teiste klauslitega.

OpenTTD vs Simutrans
Oma transpordisimulatsiooni loomine võib olla lõbus, lõõgastav ja äärmiselt köitev. Sellepärast peate endale meelepärase leidmiseks kindlasti proovima...
OpenTTD õpetus
OpenTTD on seal üks populaarsemaid ärisimulatsioonimänge. Selles mängus peate looma suurepärase transpordiettevõtte. Alustate siiski alguses umbes 190...
SuperTuxKart Linuxile
SuperTuxKart on suurepärane pealkiri, mis on loodud selleks, et tuua teie Linuxi süsteemis tasuta Mario Karti kogemus. See on päris keeruline ja lõbus...