mysql count count distinct with examples
Lees meer over het gebruik van verschillende vormen van de MySQL COUNT-functie met voorbeelden:
COUNT is een eenvoudige geaggregeerde functie, maar toch zeer effectief en algemeen gebruikt. In heel eenvoudige woorden: het wordt gebruikt om het aantal rijen te TELLEN op basis van een bepaalde SELECT-zoekopdracht en criteria.
Deze tutorial zal de syntaxis en het gebruik van eenvoudige COUNT, COUNT met voorwaarden, COUNT met DISTINCT, COUNT met GROUP BY, etc. uitleggen.
Wat je leert:
Verschillende soorten MySQL COUNT
Type | Omschrijving | Syntaxis |
---|---|---|
AANTAL (*) | COUNT (*) functie geeft het nr. rijen opgehaald door de SELECT-instructie inclusief rijen met NULL- en Duplicate-waarden | SELECTEER AANTAL (*) VAN {tableName} |
COUNT (uitdrukking) | COUNT (expressie) telt de waarde waar expressie niet null is. Expressie kan iets eenvoudigs zijn, zoals een kolomnaam of een complexe uitdrukking zoals IF Function. | SELECTEER AANTAL (Expressie) uit {tableName} |
COUNT (DISTINCT-expressie) | COUNT (DISTINCT-expressie) - DISTINCT-sleutelwoord zou resulteren in het tellen van alleen unieke niet-null-waarden voor de expressie. Bijvoorbeeld - COUNT (DISTINCT klantnaam) - telt alleen rijen met verschillende waarden voor klantnaam | SELECTEER COUNT (DISTINCT-expressie) uit {tableName} |
MySQL COUNT voorbeelden
Testgegevens
We zouden de volgende tabellen en gegevens gebruiken voor de voorbeelden voor de MySQL COUNT-functie.
Tabellen:
# 1) Product_Details
Slaat details van verschillende producten in een winkel op
- product_id - INT
- productnaam - VARCHAR
- prijs - DECIMAAL
- category_id - INT (FOREIGN KEY - id uit de tabel Category_Details)
# 2) Categorie_Details:
hoe u EPS-bestanden kunt bekijken in Windows 10
- category_id: INT
- categorienaam: VARCHAR
Laten we de tabellen maken en dummy-gegevens invoegen met behulp van de onderstaande zoekopdrachten:
Raadpleeg afbeeldingen van de tabellen met de testgegevens zoals hierboven gemaakt.
Product_Details Tabel
Category_Details-tabel
Eenvoudig COUNT
In deze sectie zullen we de COUNT-functie op de meest simplistische manier zien.
We gebruiken COUNT om het aantal rijen te retourneren zonder NULL- of DISTINCT-controles.
Uitgang:
AANTAL (*) |
---|
elf |
Met de bovenstaande query krijgen we alleen het aantal rijen dat wordt geretourneerd tegen de select-instructie.
AANTAL met voorwaarden
Nu zullen we de COUNT-functie gebruiken met voorwaarden of kolomwaarden.
Voorbeeld: Stel dat we het nee willen tellen. rijen waarin er geen niet-null-waarden zijn voor productnamen.
We kunnen productnaam (of een willekeurige kolomnaam) toevoegen als de uitdrukking in de COUNT-functie, wat dan zou resulteren in een telling van rijen met NON NULL productnaamrijen.
In dit geval is de uitvoer 11 (aangezien alle testgegevens al waarden hebben voor de kolom product_name)
Uitgang:
COUNT (productnaam) |
---|
elf |
Laten we een nieuwe rij toevoegen, met een NULL-waarde voor product_name.
De bovenstaande COUNT-query retourneert het aantal rijen met een NON NULL-productnaam.
Omdat we een rij met NULL product_name hebben ingevoegd, wordt dat niet in de resultaten geretourneerd. De uitvoer zou dus nog steeds 11 rijen zijn.
Uitgang:
COUNT (productnaam) |
---|
elf |
AANTAL Met DISTINCT
In de vorige voorbeelden hebben we de COUNT-functie met een uitdrukking gebruikt. We kunnen de uitdrukking ook combineren met een DISTINCT-commando om alle NON NULL-waarden te krijgen, die ook UNIEK zijn.
Laten we proberen de DISTINCT category_id uit de tabel product_details te halen.
Uitgang:
COUNT (DISTINCT categorie_id) |
---|
4 |
Zoals je hierboven kunt zien - de uitvoer is 4, wat het totale aantal vertegenwoordigt. van category_id's in de tabel product_details.
COUNT Met GROUP BY
Laten we eens kijken naar een voorbeeld waarin we COUNT willen gebruiken in combinatie met GROUP BY. Dit is een belangrijke combinatie waarbij we een AANTAL kunnen krijgen voor een gegroepeerde kolom en gegevens kunnen analyseren afhankelijk van verschillende waarden van een doelgroepkolom.
Bijvoorbeeld: Vind het nr. van producten voor elke categorie uit de tabel product_details.
categorie ID | AANTAL (*) |
---|---|
1 | 7 |
twee | 1 |
4 | 1 |
5 | twee |
Zoals we hierboven kunnen zien, vertegenwoordigt de kolom COUNT (*) voor elke categorie_id het aantal rijen dat bij elke categorie_id hoort.
AANTAL met ALS
Laten we een voorbeeld bekijken van het gebruik van een ALS-voorwaarde binnen de COUNT-functie. We kunnen een IF-expressie in de COUNT-functie plaatsen en de waarde instellen op NULL voor de voorwaarde false en elke niet-nulwaarde voor de voorwaarde true.
Elke NON NULL-waarde wordt geteld als een enkele rij w.r.t COUNT-functie.
Bijvoorbeeld: Gebruik de COUNT-functie om alle producten binnen de prijsklasse van 20 $ te vinden.
Uitgang:
count_less_than_20 |
---|
7 |
In de bovenstaande zoekopdracht hebben we het AANTAL van alle producten met een prijsbereik tussen 0 en 20 verkregen. Voor de voorwaarde FALSE hebben we de waarde ingesteld op NULL, wat niet wordt geteld wanneer de rij wordt geëvalueerd voor verschillende kolomwaarden .
char converteren naar int c ++
AANTAL met JOINS
COUNT kan ook worden gebruikt met JOIN-instructies. Omdat COUNT van toepassing is op nr. rijen, kan het worden gebruikt met elke combinatie van een query die op een enkele tabel of meerdere tabellen werkt met JOINS.
Voorbeeld: Word lid van zowel de tabel product_details als de tabel category_details en vind het aantal op categorie_naam in de tabel productdetails.
Uitgang:
categorie naam | COUNT (categorienaam) |
---|---|
FMCG | 7 |
MEUBILAIR | 1 |
HUISHOUDELIJKE APPARATEN | 1 |
ELEKTRONICA | twee |
Tip en truc
Kolomalias gebruiken voor de kolom die het resultaat van de COUNT-functie weergeeft: We kunnen een Kolomalias samen met de COUNT-functie gebruiken om door de gebruiker gedefinieerde kolomnamen te hebben voor de kolom die de resultaten van de COUNT-functie weergeeft.
Bijvoorbeeld: Stel dat we het aantal categorieën in de tabel category_details willen tellen en de resulterende kolom willen noemen als category_count, dan kunnen we onderstaande query gebruiken:
Uitgang:
category_count |
---|
5 |
Veel Gestelde Vragen
V # 1) Hoe gebruik ik de COUNT-functie in MySQL?
Antwoord: COUNT-functie is een geaggregeerde functie die op 3 manieren kan worden gebruikt.
- AANTAL (*) - Dit zou alle rijen tellen die worden geretourneerd door de SELECT QUERY.
- COUNT (uitdrukking) - Dit zou alle NON NULL-waarden voor de expressie TELLEN.
- COUNT (DISTINCT uitdrukking) - Dit zou alle NON NULL- en UNIQUE-waarden TELLEN voor de uitdrukking.
Q # 2) Wat is het verschil tussen Count (*) en Count (1) in SQL?
Antwoord: Beide verklaringen gedragen zich op een identieke manier. Volgens de MySQL-definitie van COUNT is alles tussen haakjes () een uitdrukking - en elke NON NULL-waarde wordt geteld als 1.
Dus in dit geval worden * en 1 beide behandeld als NON NULL en wordt hetzelfde resultaat geretourneerd, d.w.z. het resultaat van beide onderstaande query's zou hetzelfde zijn.
Gevolgtrekking
In deze tutorial hebben we geleerd over de COUNT-functie en de verschillende variaties die MySQL biedt.
We hebben ook gezien hoe we COUNT kunnen gebruiken met verschillende scenario's, zoals het combineren van COUNT met GROUP BY en het schrijven van een IF-functie binnen de COUNT-functie.
De COUNT-functie is een van de belangrijkste en meest gebruikte functies in MySQL en wordt grotendeels gebruikt om gegevens te aggregeren, afhankelijk van de gespecificeerde voorwaarden voor een of meer tabellen.
Aanbevolen literatuur
- MySQL ALTER TABLE - Kolom toevoegen aan een tabel in MySQL
- MySQL CONCAT- en GROUP_CONCAT-functies met voorbeelden
- MySQL GEBRUIKER MAKEN: hoe u een nieuwe gebruiker kunt maken in MySQL
- MySQL JOIN-zelfstudie: binnen, buiten, kruis, links, rechts en zelf
- MySQL LIKE - Tutorial met syntaxis en gebruiksvoorbeelden
- MySQL GROUP BY-clausule - Tutorial met voorbeelden
- MySQL-substring en Substring_Index-functies met voorbeelden
- MySQL Create Bekijk zelfstudie met codevoorbeelden