7.5. Sortarea rândurilor

după ce o interogare a produs un tabel de ieșire (după ce lista de selectare a fost procesată) poate fi sortată opțional. Dacă sortarea nu este aleasă, rândurile vor fi returnate într-o ordine nespecificată. Ordinea reală în acest caz va depinde de scanare și să se alăture tipuri de plan și ordinea pe disc, dar nu trebuie să se bazeze pe. O anumită comandă de ieșire poate fi garantată numai dacă pasul de sortare este ales în mod explicit.

clauza ORDER BY specifică ordinea de sortare:

SELECT select_list FROM table_expression ORDER BY column1 ...]

column1, etc., consultați selectați coloane listă. Acestea pot fi fie numele de ieșire al unei coloane (a se vedea secțiunea 7.3.2), fie numărul unei coloane. Câteva exemple:

SELECT a, b FROM table1 ORDER BY a;SELECT a + b AS sum, c FROM table1 ORDER BY sum;SELECT a, sum(b) FROM table1 GROUP BY a ORDER BY 1;

ca o extensie a standardului SQL, PostgreSQL permite, de asemenea, ordonarea prin expresii arbitrare:

SELECT a, b FROM table1 ORDER BY a + b;

referințele la numele coloanelor din clauza FROM care nu sunt prezente în Lista select sunt, de asemenea, permise:

SELECT a FROM table1 ORDER BY b;

dar aceste extensii nu funcționează în interogări care implică Uniune, INTERSECT, sau cu excepția, și nu sunt portabile la alte baze de date SQL.

fiecare specificație a coloanei poate fi urmată de un ASC sau DESC opțional pentru a seta direcția de sortare la ascendent sau descendent. Ordinul ASC este implicit. Ordinea crescătoare pune mai întâi valori mai mici, unde „mai mic” este definit în termeni de < operator. În mod similar, ordinea descrescătoare este determinată cu operatorul >.

dacă sunt specificate mai multe coloane de sortare, intrările ulterioare sunt utilizate pentru a sorta rândurile care sunt egale în ordinea impusă de coloanele de sortare anterioare.

Lasă un răspuns

Adresa ta de email nu va fi publicată.

Previous post cât valorează/valorează o cadă cu hidromasaj folosită?
Next post ce să știu despre scandalul de abuz sexual Josh Duggar