Manual de auto-instrucțiuni ilustrat pentru postgresql> sql în postgresql> eliminarea duplicatelor și cheilor

Ștergeți duplicate și DISTINCT

Cuvântul cheie DISTINCT opțional exclude duplicatele din setul final. Dacă cuvântul cheie ON nu este prezent, înregistrările cu valori duplicate ale câmpurilor vizate sunt excluse din rezultatele interogării cu cuvântul cheie DISTINCT. Sunt verificate doar câmpurile incluse în lista de direcții SELECT.







Listing 4.31. Cuvântul cheie DISTINCT.

În cea de-a doua interogare, se folosește o altă formă de DISTINCT cu o enumerare explicită a câmpurilor (sau a expresiilor) care sunt verificate pentru duplicate. În acest caz, interogarea returnează și 13 înregistrări, deoarece secțiunea ON indică faptul că duplicatele sunt verificate pentru valoarea câmpului autor_i d. Fără secțiunea ON, interogarea este corectă) și ar avea toate cele 15 înregistrări, deoarece în mod implicit PostgreSQL verifică o potrivire completă a tuturor câmpurilor.







În general, PostgreSQL selectează înregistrările excluse din setul final dacă există o secțiune ON, la discreția sa. Dacă interogarea împreună cu DISTINCT include clauza ORDER BY, puteți seta manual ordinea selectării câmpurilor astfel încât înregistrările necesare să fie la început. Sortarea înregistrărilor este considerată în subsecțiunea "Înregistrări de sortare".

Dacă, în loc să ștergeți toate duplicatele, este suficient să grupați înregistrări cu valori repetate ale unui anumit criteriu, utilizați secțiunea GROUP BY descrisă în subsecțiunea "Gruparea înregistrărilor".

Proiectele noastre

  • Navigator în oceanul de arome






Articole similare

Trimiteți-le prietenilor: