sql >> Database >  >> RDS >> Database

Hoe verschillende waarden in SQL te tellen

Probleem:

U wilt tellen hoeveel verschillende niet-NULL-waarden er in een bepaalde kolom staan.

Voorbeeld:

Onze database heeft een tabel met de naam customer met gegevens in de volgende kolommen:id , first_name , last_name , en city .

id voornaam achternaam stad
1 Jan Willems Chicago
2 Tom Bruin Austin
3 Lucy Miller Chicago
4 Ellie Smith Dallas
5 Brian Jones Austin
6 Allan Davis NULL

Laten we het aantal verschillende (en niet-NULL ) steden.

Oplossing:

SELECT COUNT( DISTINCT city) as cities
FROM customer;

Deze zoekopdracht retourneert het aantal steden waar klanten wonen:

steden
3

Discussie:

Om het aantal verschillende waarden te tellen dat in een bepaalde kolom is opgeslagen, hoeft u alleen maar de kolom aan te duiden die u doorgeeft aan de COUNT functioneren als DISTINCT . Wanneer een kolom wordt gegeven, COUNT geeft het aantal waarden in die kolom terug. Dit combineren met DISTINCT geeft alleen het aantal unieke (en niet-NULL) waarden terug.


  1. Fix "ERROR 1222 (21000):de gebruikte SELECT-instructies hebben een ander aantal kolommen" bij gebruik van UNION in MariaDB

  2. Hoe erachter te komen of de gebruiker aanwezig is in Sqlite Database met Android?

  3. Bulk/batch update/upsert in PostgreSQL

  4. 4 manieren om de database-sortering in MariaDB te krijgen