SQL for å finne antall distinkte verdier i en kolonne

Jeg kan velge alle distinkte verdier i en kolonne på følgende måter:

  • SELECT DISTINCT kolonnenavn FROM tabellnavn;
  • SELECT column_name FROM table_name GROUP BY column_name;

Men hvordan får jeg antall rader fra denne spørringen? Er det nødvendig med en subquery?

Løsning

Du kan bruke nøkkelordet DISTINCT i aggregeringsfunksjonen COUNT:

SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name

Dette teller bare de distinkte verdiene for den kolonnen.

Kommentarer (5)
SELECT COUNT(DISTINCT column_name) FROM table as column_name_count;

må du telle de forskjellige kolonnene og deretter gi dem et alias.

Kommentarer (0)
select Count(distinct columnName) as columnNameCount from tableName 
Kommentarer (0)