SQL Velg distinkt

SQL Velg distinkt
Den distinkte klausulen i SQL lar deg velge unike elementer. Dette hjelper igjen med å fjerne dupliserte poster fra et resultatsett.

La oss lære å bruke den distinkte leddet i forbindelse med Select -setningen for å filtrere for unike poster.

SQL distinkt klausul

Syntaksen for bruk av den distinkte leddet er som vist nedenfor:

Velg distinkt kolonne1, kolonne2, ... kolonne
Fra tabellnavn
Hvor [tilstand]

Selv om hvor leddet er valgfritt, lar den deg være mer presis i postene å hente fra databasen.

Husk at den distinkte klausulen vil evaluere alle de spesifiserte kolonnene for å bestemme de unike postene.

For eksempel, hvis en kolonne inneholder nullverdier, vil den distinkte klausulen velge den første NULL -posten og fjerne alle de andre fra det resulterende settet. Derfor, når man jobber med distinkt, blir en null behandlet som en verdi.

SQL distinkt eksempel

La oss illustrere hvordan vi bruker den distinkte leddet i SQL.

Vi kan starte med å lage en eksempeldatabase og tabell som vist i spørsmålene nedenfor:

opprette database prøvetatt;

Neste, lag en tabell med følgende skjema.

Lag tabellbrukere (
ID Seriell primærnøkkel,
First_name varchar (100),
Last_name varchar (100),
State Varchar (25),
aktiv bool
);

Når vi har opprettet tabellskjemaet, kan vi legge til prøvedata som vist:

Sett inn brukere (First_name, Last_name, State, Active) verdier (
'Mary', 'Smith', 'New York', True);
Sett inn brukere (First_name, Last_name, State, Active) verdier (
'Linda', 'Williams', 'Colorado', falsk);
Sett inn brukere (First_name, Last_name, State, Active) verdier (
'Taylor', 'Moore', 'Utah', True);
Sett inn brukere (First_name, Last_name, State, Active) verdier (
'Susan', 'Wilson', 'Washington', True);
Sett inn brukere (First_name, Last_name, State, Active) verdier (
'Mary', 'Smith', 'New York', True);
Sett inn brukere (First_name, Last_name, State, Active) verdier (
'Taylor', 'Moore', 'Utah', True);

Ovennevnte spørsmål legger til eksempeldata til brukertabellen. Merk at dataene inneholder dupliserte verdier.

Vi kan spørre tabellen som vist:

Velg * fra brukere;

Dette skulle komme tilbake:

SQL Velg distinkt illustrasjon

For å velge alle kolonnene, men eliminere duplikatpostene, kan vi gjøre:

Velg distinkt første_navn, siste_navn, tilstand, aktiv fra brukere;

Ovennevnte spørring skal filtrere alle duplikatpostene og bare returnere de unike. Et eksempelutgang er som vist:

For å velge distinkt på en bestemt kolonne, kan du bruke den distinkte på leddet. For å velge distinkte poster ved å bruke Kolonnen First_Name, kan vi for eksempel gjøre:

Velg distinkt på (First_name) First_name, Last_name, State, Active fra brukere;

Ovennevnte spørringsfilter for de unike postene ved hjelp av Kolonnen First_Name.

Hvis du vil beregne antall distinkte poster i et resultatsett, kan du bruke den distinkte leddet med tellefunksjonen. Et eksempel er som vist:

Velg Count (distinkt First_name) fra brukere;

Koden over skal returnere antallet unike poster ved hjelp av First_Name -kolonnen. Et eksempelutgang er som vist:

Lukking

Opplæringen ovenfor diskuterte den distinkte klausulen i SQL og hvordan du bruker den til å filtrere for unike poster i en tabell.

Takk for at du leste!!