SQL SELECT DISTINCT sä­ker­stäl­ler att endast unika poster och rader in­klu­de­ras i re­sul­ta­ten av en da­ta­kon­sul­ta­tion. Det tar bort dub­blet­ter från posterna och raderna i fråga, vilket möjliggör en tydligare och mer precis da­taa­na­lys.

Vad är SQL SELECT DISTINCT?

SQL SELECT DISTINCT är en be­ar­bet­nings­o­pe­ra­tor som används med SQL SELECT-kommandot. I frågor väljer SELECT en eller flera kolumner och poster. I kom­bi­na­tion med DISTINCT sä­ker­stäl­ler den att dina frå­ge­re­sul­tat endast in­ne­hål­ler unika rader och tar bort dubbla rader och värden. Du kan kombinera SELECT DISTINCT med andra SQL-ope­ra­to­rer och SQL-kommandon för att anpassa dina frågor efter dina in­di­vi­du­el­la behov.

Vad är skill­na­den mellan SQL SELECT DISTINCT och SELECT UNIQUE?

“Unique” och “distinct” har liknande betydelse som ord, men SQL-ope­ra­to­rer­na UNIQUE och DISTINCT har olika syften. För att använda SQL SELECT DISTINCT korrekt bör du vara medveten om hur det skiljer sig från UNIQUE.

SQL SELECT DISTINCT SQL SELECT UNIQUE
Kon­trol­le­rar da­ta­mäng­der för dubbla rader och värden; tar bort re­dun­dan­ser och re­tur­ne­rar endast unika resultat Lämpligt för att förhindra inmatning av dub­blet­ter i valda tabeller och kolumner med hjälp av ko­lumn­be­gräns­ning­ar
Används främst för att utvärdera, analysera och jämföra da­ta­mäng­der för att få tydliga, me­nings­ful­la resultat Används vid skapande och re­di­ge­ring av tabeller för att sä­ker­stäl­la bättre da­tain­tegri­tet utan re­dun­dan­ser
Tips

Behöver du en snabb upp­frisk­ning av SQL? Vår in­tro­duk­tion till SQL med exempel pre­sen­te­rar de vik­ti­gas­te funk­tio­ner­na.

Vad är syntaxen för SQL SELECT DISTINCT?

Den grund­läg­gan­de syntaxen för SQL SELECT DISTINCT ser ut som följer:

SELECT  DISTINCT  ColumnA, ColumnB, …
FROM table
sql

Den använder följande pa­ra­met­rar:

  • SELECT DISTINCT: Här anger du vilka kolumner du vill använda kommandot SELECT och operatorn DISTINCT på.
  • FROM: Ange här vilken tabell som in­ne­hål­ler dessa kolumner.
  • WHERE: I en valfri WHERE-sats kan du lägga till yt­ter­li­ga­re villkor för att begränsa din sökning.

Vad används SQL SELECT DISTINCT till?

Det finns otaliga an­vänd­nings­om­rå­den för SQL SELECT DISTINCT. Här är några exempel:

  • Reducera kund-, order-, patient- eller pro­dukt­da­ta som visas i flera rader till en enda post
  • Räkna och visa antalet köp baserat på order och produkt-ID
  • Hämta unika patient- eller kunddata
  • Visa alla le­ve­rans­a­dres­ser eller le­ve­ran­tö­rer i en region

Exempel på SQL SELECT DISTINCT

Vi ska nu titta på två exempel med SELECT DISTINCT.

Hämta alla kunder

Låt oss säga att du vill hämta alla unika kunder från en tabell som heter “Orders”. Du vill inte ha några dubbla rader om en kund har gjort flera be­ställ­ning­ar. Syntaxen för det skulle se ut så här:

SELECT  DISTINCT  Customer_name
FROM  Orders
sql

Filtrera kunder från en viss region

Du kan använda en WHERE för att lägga till yt­ter­li­ga­re villkor för din ut­vär­de­ring av kunddata. Låt oss säga att du vill hämta namnen på alla kunder i Stor­bri­tan­ni­en från en tabell som heter “Orders”. Så här skulle det se ut:

SELECT  DISTINCT  Customer_name, Country
FROM  Orders
WHERE  Country  =  'UK'
sql

Finns det al­ter­na­tiv till SQL SELECT DISTINCT?

SELECT DISTINCT är ett praktiskt sätt att ta bort dub­blet­ter från dina frågor, men det är inte alltid den bästa lösningen. När det används i stora da­ta­mäng­der använder det mycket resurser för att jämföra varje enskild kolumn. I så fall kan du titta på dessa al­ter­na­tiv med liknande funk­tio­ner:

  • GROUP BY: SQL GROUP BY- klausuler grupperar poster från de kolumner du anger. Du kan göra dem mer precisa med hjälp av yt­ter­li­ga­re funk­tio­ner och ope­ra­to­rer.
  • EXISTS: SQL EXISTS kon­trol­le­rar om värden och poster finns i en annan tabell.
  • COUNT: Kombinera DISTINCT med SQL COUNT för att räkna unika värden i en kolumn.
  • SELECT + FROM + WHERE: Du kan begränsa dina resultat bättre med en un­der­frå­ga (en fråga inbäddad i en annan fråga). I un­der­frå­gan väljer du kolumnen med SELECT, anger vilken tabell du arbetar i med FROM och ställer sedan in de villkor som re­sul­ta­ten ska uppfylla med WHERE.
Gå till huvudmeny