sql >> Database teknologi >  >> RDS >> Database

Sådan tælles forskellige værdier i SQL

Problem:

Du vil gerne tælle, hvor mange forskellige ikke-NULL-værdier, der er i en given kolonne.

Eksempel:

Vores database har en tabel ved navn customer med data i følgende kolonner:id , first_name , last_name og city .

id fornavn efternavn by
1 John Williams Chicago
2 Tom Brun Austin
3 Lucy Møller Chicago
4 Ellie Smith Dallas
5 Brian Jones Austin
6 Allan Davis NULL

Lad os finde antallet af forskellige (og ikke-NULL). ) byer.

Løsning:

SELECT COUNT( DISTINCT city) as cities
FROM customer;

Denne forespørgsel returnerer antallet af byer, hvor kunderne bor:

byer
3

Diskussion:

For at tælle antallet af forskellige værdier, der er gemt i en given kolonne, skal du blot udpege den kolonne, du sender ind til COUNT fungere som DISTINCT . Når der gives en kolonne, COUNT returnerer antallet af værdier i den kolonne. Ved at kombinere dette med DISTINCT returnerer kun antallet af unikke (og ikke-NULL) værdier.


  1. Hvordan får man mysqli til at kaste undtagelser ved hjælp af MYSQLI_REPORT_STRICT?

  2. script til at konvertere mysql dump sql-fil til format, der kan importeres til sqlite3 db

  3. Liste over datoformater tilgængelige med CONVERT() i SQL Server

  4. MySQL - Operand skal indeholde 1 kolonne(r)