SQL SELECT DISTINCT nodrošina, ka datu vaicājuma re­zul­tā­tos tiek iekļauti tikai unikāli ieraksti un rindas. Tas no at­tie­cī­ga­jiem ie­rak­stiem un rindām izņem dub­li­kā­tus, ļaujot veikt skaidrāku un precīzāku datu analīzi.

Kas ir SQL SELECT DISTINCT?

SQL SELECT DISTINCT ir apstrādes operators, ko izmanto kopā ar SQL SELECT komandu. Vai­cā­ju­mos SELECT atlasa vienu vai vairākas kolonnas un ierakstus. Kom­bi­nā­ci­jā ar DISTINCT operatoru tas nodrošina, ka vaicājuma rezultāti satur tikai unikālas rindas, un noņem dublētās rindas un vērtības. Jūs varat kombinēt SELECT DISTINCT ar citiem SQL ope­ra­to­riem un SQL komandām, lai pielāgotu vai­cā­ju­mus at­bil­sto­ši savām in­di­vi­duā­la­jām va­ja­dzī­bām.

Kāda ir atšķirība starp SQL SELECT DISTINCT un SELECT UNIQUE?

Vārdiem „unikāls” un „atšķirīgs” ir līdzīga nozīme, taču SQL ope­ra­to­riem UNIQUE un DISTINCT ir atšķirīgs mērķis. Lai pareizi izmantotu SQL SELECT DISTINCT, jums jāzina, kā tas atšķiras no UNIQUE.

SQL SELECT DISTINCT SQL SELECT UNIQUE
Pārbauda datu kopas, lai atrastu dublētas rindas un vērtības; noņem liekos ierakstus un atgriež tikai unikālus re­zul­tā­tus Piemērots, lai novērstu dublikātu ie­va­dī­ša­nu iz­vē­lē­ta­jās tabulās un kolonnās, iz­man­to­jot kolonnu ie­ro­be­žo­ju­mus
Gal­ve­no­kārt tiek izmantots datu kopu no­vēr­tē­ša­nai, analīzei un sa­lī­dzi­nā­ša­nai, lai iegūtu skaidrus, nozīmīgus re­zul­tā­tus Izmanto, veidojot un rediģējot tabulas, lai no­dro­ši­nā­tu labāku datu in­teg­ri­tā­ti bez liek­vār­dī­bas
Tip

Vēlaties ātri at­svai­dzi­nāt zināšanas par SQL? Mūsu SQL ievads ar piemēriem ie­pa­zīs­ti­na ar sva­rī­gā­ka­jām funkcijām.

Kāda ir SQL SELECT DISTINCT sintakse?

SQL SELECT DISTINCT pamata sintakse izskatās šādi:

SELECT  DISTINCT  ColumnA, ColumnB, …
FROM table
sql

Tajā tiek izmantoti šādi parametri:

  • SELECT DISTINCT: Šeit norādiet, kurām kolonnām vēlaties piemērot SELECT komandu un DISTINCT operatoru.
  • FROM: Šeit norādiet, kurā tabulā atrodas šīs kolonnas.
  • WHERE: Ne­ob­li­gā­ta­jā WHERE klauzulā varat pievienot papildu no­sa­cī­ju­mus, lai sa­šau­ri­nā­tu vaicājumu.

Kādiem mērķiem izmanto SQL SELECT DISTINCT?

SQL SELECT DISTINCT lie­to­ša­nas gadījumu ir ne­skai­tā­mi daudz. Šeit ir tikai daži piemēri:

  • Ap­vie­no­jiet klientu, pa­sū­tī­ju­mu, pacientu vai produktu datus, kas parādās vairākās rindās, vienā unikālā ierakstā
  • Sa­skai­tiet un parādiet pirkumu skaitu, pa­ma­to­jo­ties uz pa­sū­tī­ju­miem un produktu iden­ti­fi­ka­to­riem
  • Iegūstiet unikālus pacienta vai klienta datus
  • Parādiet visas piegādes adreses vai pie­gā­dā­tā­jus reģionā

SQL piemēri SELECT DISTINCT

Tagad aplūkosim divus piemērus, kuros izmantots SELECT DISTINCT.

Iegūt visus klientus

Pieņemsim, ka vēlaties izgūt visus unikālos klientus no tabulas ar nosaukumu „Orders”. Jūs ne­vē­la­ties, lai būtu dublikāti, ja klients ir veicis vairākus pa­sū­tī­ju­mus. Sintakse šim nolūkam iz­ska­tī­tos šādi:

SELECT  DISTINCT  Customer_name
FROM  Orders
sql

Klientu fil­trē­ša­na pēc konkrēta reģiona

Iz­man­to­jot WHERE klauzulu, varat pievienot papildu no­sa­cī­ju­mus klientu datu iz­vēr­tē­ša­nai. Pieņemsim, ka vēlaties iegūt visu Ap­vie­no­tās Ka­ra­lis­tes klientu vārdus no tabulas ar nosaukumu „Orders”. Tas iz­ska­tī­tos šādi:

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

Vai ir kādas al­ter­na­tī­vas SQL SELECT DISTINCT?

SELECT DISTINCT ir praktisks veids, kā no jūsu vai­cā­ju­miem izņemt dub­li­kā­tus, taču tas ne vienmēr ir labākais ri­si­nā­jums. Ja to piemēro lieliem datu kopumiem, tas patērē daudz resursu, sa­lī­dzi­not katru atsevišķo kolonnu. Šādā gadījumā varat izskatīt šādas al­ter­na­tī­vas ar līdzīgām funkcijām:

  • GROUP BY: SQL GROUP BY klauzulas grupē ierakstus no no­rā­dī­ta­jām kolonnām. To pre­ci­zi­tā­ti var pa­lie­li­nāt, iz­man­to­jot papildu funkcijas un ope­ra­to­rus.
  • EXISTS: SQL EXISTS pārbauda, vai vērtības un ieraksti ir atrodami citā tabulā.
  • COUNT: Ap­vie­no­jiet DISTINCT ar SQL COUNT, lai sa­skai­tī­tu unikālās vērtības kolonnā.
  • SELECT + FROM + WHERE: Jūs varat labāk sa­šau­ri­nāt re­zul­tā­tus, iz­man­to­jot ap­akš­vai­cā­ju­mu (vaicājums, kas ievietots citā vaicājumā). Ap­akš­vai­cā­ju­mā iz­vē­lie­ties kolonnu, iz­man­to­jot SELECT, norādiet, ar kuru tabulu strādājat, iz­man­to­jot FROM, un pēc tam iestatiet no­sa­cī­ju­mus, kuriem re­zul­tā­tiem jāatbilst, iz­man­to­jot WHERE.
Go to Main Menu