Vom proceda la descrierea ordinii distincte în SQL.
Loc distinct în Select clauza
Argumentul distinct trebuie plasat imediat după Select cuvântul cheie în interogări. El a aplicat toate coloanele specificate în propoziție Select, deoarece acesta va fi exclus din rezultatul interogării final este siruri de caractere absolut identice. Astfel, odată ce este suficient pentru a specifica atunci când scrieți SQL «selectați distinct» cerere. Excepția este utilizarea de diferite funcții agregate în interiorul care arata la un pic mai târziu.
Trebuie amintit faptul că cea mai mare parte a bazei de date și nu recunoaște tipul de cerere:
SELECT Ostatki.Count distincte, Oboi distincte. *
INTERIOARĂ TE Ostatki PE Oboi.id = Ostatki.id_oboi
Acolo nu a fost considerat un argument de mai multe ori sau o dată specificată, dar înainte de a doua, a treia sau o altă coloană selectată. Veți primi o eroare referindu-se la o eroare de sintaxă.
Aplicație interogări distincte în standardul
Este evident că, cu mese adecvate structura cladirii si umplându-le într-un singur tabel exclusă situația în care există șiruri absolut identice. Prin urmare, executarea interogare «Select distincte *» cu o probă de un tabel este impracticabilă.
Luați în considerare o situație în care trebuie să știm ce tip avem tapet, doar pentru comoditate, pentru a sorta în funcție de tipul:
Aplicarea funcțiilor agregate distincte în cadrul
Argumentul distinct SQL poate fi utilizat cu orice funcție agregată. Dar pentru Min și Max aplicarea acesteia va avea nici un efect, dar atunci când se calculează suma sau valoarea medie este rareori o situație în care nimeni nu ar trebui să ia în considerare repetițiile.
Să presupunem că vrem să verifice capacitatea depozitul nostru și de a trimite această solicitare, calculează numărul total de bobine în stoc:
Cererea va da răspunsul 143. În cazul în care, cu toate acestea, vom schimba la:
sum SELECT (Ostatki.count distinct)
obținem total 119, ca imagine de fundal pentru numerele de partea 3 și 7 sunt în stoc în aceeași cantitate. Cu toate acestea, este evident că răspunsul este greșit.
Cel mai des folosit în SQL Count funcție distinctă. Deci, putem găsi cu ușurință cât de multe tipuri unice de tapet, avem:
SELECT COUNT (Oboi.type distincte)
Este interesant faptul că, în aceeași interogare, puteți specifica mai multe funcții cum ar fi Contele atribut DISTINCT, și fără ea. Aceasta este singura situație în care în mod distinct Select'e poate fi prezent de mai multe ori.
Când să renunțe la utilizarea argumentului
Din utilizarea SQL argument distinct ar trebui să fie abandonată într-una din cele două cazuri:
- Efectuați o selecție de tabele și sunt încrezători în valoarea unică pe fiecare. În acest caz, utilizarea argumentul este inadecvat, deoarece este o sarcină suplimentară pe server sau client (în funcție de tipul de SGBD).
- Ți-e frică de a pierde datele. Să ne explicăm.
șeful vă cere să presupunem că lista de tapet pe care le aveți, cu indicarea numai două coloane - tipul și culoarea. Din obișnuință, vă dau un argument distinct:
SELECT Oboi.type distincte, Oboi.color
COMANDA PRIN Oboi.type