logo

SQL Distinct-klausul

SQL DISTINCT-udtrykket bruges til at fjerne duplikerede værdier fra forespørgselsresultater. Det sikrer, at output kun viser unikke poster for de(n) specificerede kolonne(r).

Eksempel: Først vil vi skabe en demo SQL-database og -tabel, hvor vi vil bruge kommandoen Distinct Clause.

Medarbejdere' title=

Forespørgsel:



SELECT DISTINCT Department  
FROM Employees;

Produktion:

distinkt' loading='lazy' title=

Syntaks:

SELECT DISTINCT column1 column2   
FROM table_name
  • kolonne 1 kolonne 2: Navne på felterne i tabellen.
  • Tabel_navn: Tabel, hvorfra vi ønsker at hente posterne.

Note: Hvis det bruges på flere kolonnerDISTINCTreturnerer unikke kombinationer af værdier på tværs af disse kolonner.

Eksempler på DISTINCT i SQL

Lad os oprette en prøvetabel og udfylde den med nogle duplikerede poster. Vi vil se nogle eksempler på brug af DISTINCT-søgeordet med et eksempel på elevtabel.

elevtabel' loading='lazy' title=

Eksempel 1: Hent unikke navne fra feltet NAVN.

Forespørgslen returnerer kun unikke navne, hvilket eliminerer de duplikerede poster fra tabellen.

Forespørgsel:

SELECT DISTINCT NAME FROM students; 

Produktion:

Forespørgsel-1' loading='lazy' title=

Eksempel 2: Hentning af unikke kombinationer af flere kolonner

Denne forespørgsel henter forskellige kombinationer af NAVN og ALDER - hvis to rækker har samme navn og alder, vil kun én af dem blive vist i resultatsættet.

Forespørgsel:

SELECT DISTINCT NAME AGE FROM students;

Produktion:

forespørgsel-2' loading='lazy' title=

Eksempel 3: Brug af DISTINCT med ORDER BY-klausulen

Vi kan kombinere søgeordet DISTINCT med BESTIL EFTER klausul for at filtrere unikke værdier, mens resultatsættet sorteres. Denne forespørgsel henter de unikke aldre fra elevtabellen og sorterer dem i stigende rækkefølge.

Forespørgsel:

SELECT DISTINCT AGE FROM students ORDER BY AGE; 

Produktion:

beskriv efter alder' loading='lazy' title=

Eksempel 4: Brug af DISTINCT med aggregerede funktioner (f.eks. COUNT())

Her vil vi tjekke TÆLLE() funktion med en DISTINCT-sætning, som vil give det samlede antal elever ved at bruge COUNT()-funktionen.

Forespørgsel:

SELECT COUNT(DISTINCT ROLL_NO) FROM Students ;

Produktion:

distinkt' loading='lazy' title=

Eksempel 5: DISTINCT med NULL-værdier

I SQL behandler nøgleordet DISTINCT NULL som en unik værdi. NULL behandles som en særskilt værdi, så den vises kun én gang, hvis der er flere NULL'er.

Forespørgsel:

INSERT INTO students (ROLL_NO NAME ADDRESS PHONE AGE)  
VALUES (13 'John Doe' '123 Unknown Street' '9876543216' NULL);

SELECT DISTINCT AGE FROM students;

Produktion:

alder-24' loading='lazy' title= Opret quiz