SORTERA EFTER

Slutförd

Satsen ORDER BY används i SQL för att sortera resultatuppsättningen för en SELECT -instruktion. Det innebär att raderna i utdata ordnas baserat på värdena för en eller flera kolumner.

Detta är viktigt för att organisera data på ett sätt som gör det enklare att tolka och använda dem. Du kan ange en eller flera kolumner att sortera efter, och du har kontroll över sorteringsordningen: stigande (från minsta till största eller A till Z) eller fallande (från största till minsta eller Z till A). Utan ORDER BYär ordningen på de returnerade raderna oförutsägbar.

Sortering i stigande ordning (standard)

SELECT * 
FROM sales.products
ORDER BY price;

Den här frågan hämtar produkter sorterade efter pris i stigande ordning, vilket är standardbeteendet för ORDER BY.
Även om det är redundant kan du uttryckligen lägga till ASC i slutet av frågan, vilket kan förbättra läsbarheten.

Om du vill ändra ordningen måste du ange det uttryckligen, vilket visas i följande exempel.

Sortera i fallande ordning

SELECT * 
FROM sales.products
ORDER BY price DESC;

Den här frågan hämtar produkter sorterade efter pris i fallande ordning.

Sortera efter flera kolumner

SELECT * 
FROM sales.customers
ORDER BY country, city;

Den här frågan hämtar alla kolumner (*) från sales.customers tabellen och sorterar sedan de resulterande raderna. Sortering sker på två nivåer: – För det första sorteras resultaten alfabetiskt efter landskolumnen. Det innebär att alla kunder från "Argentina" kommer att grupperas tillsammans, följt av kunder från "Österrike" och så vidare. – Inom varje kundgrupp från samma land sorteras resultaten ytterligare alfabetiskt efter stadskolumnen. Så om du har flera kunder från "Tyskland" kommer de att beställas efter deras stadsnamn (till exempel "Aachen" före "Berlin").

I grund och botten innehåller den här frågan en kundlista som organiseras främst av country och sedan, inom varje country, som organiseras av city. Det gör det enkelt att hitta kunder från en viss region.
Genom att kombinera den här metoden med ASC eller DESC modifierare får du dessutom fullständig kontroll över sorteringsriktningen för varje kolumn.

SELECT * 
FROM sales.customers
ORDER BY country ASC, city DESC;

Den här frågan skulle sortera länder i stigande ordning samtidigt som städer i varje land organiseras i fallande ordning.