# Hvordan bruke SQL ORDER BY

Med SQL-kommandoen `ORDER BY` kan du sortere søkeresultatene etter dine egne behov, enten i stigende eller synkende rekkefølge. Ved å sortere dataene i måltabellen din etter rader og kolonner kan du gjøre resultatene tydeligere og lettere å lese. Dette bidrar igjen til å optimalisere og fremskynde dataanalyser og spørringer i komplekse datasett.

## Hva er SQL `ORDER BY`?

Du kan bruke SQL `ORDER BY` til å sortere data og resultater fra enkle eller komplekse datasett. Kommandoen lar deg definere **hvordan dataene skal ordnes** i måltabellen. I tillegg kan du angi om dataene skal sorteres i stigende eller synkende rekkefølge. Dermed bidrar `ORDER BY` til å levere søkeresultater som er oversiktlige og lette å lese.

Som standard viser `ORDER BY` resultatene i stigende rekkefølge, det vil si fra A til Å eller fra laveste til høyeste verdi. Hvis du foretrekker resultater i synkende rekkefølge, kan du bruke det valgfrie nøkkelordet `DESC`. Du kan angi én eller flere målkolonner for resultatene.

SQL `ORDER BY` er viktig for å utføre **strukturerte og raske spørringer**. Det brukes ofte sammen med SELECT, WHERE og andre SQL-operatører og -funksjoner som GROUP BY.

Tip Vil du få en bedre forståelse av [SQL](https://www.ionos.com/nb-no/digitalguide/server/kunnskap/hva-er-sql/), men vet ikke hvor du skal begynne? Vår [innføring i SQL med eksempler](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/introduksjon-til-sql-med-eksempler/) gjør det enkelt å komme i gang med å lære dette populære databasespråket.

## Hva er syntaksen i SQL `ORDER BY`?

Syntaksen i SQL `ORDER BY` ser slik ut:

```sql
SELECT  ColumnA, ColumnB, …  or *
FROM  Table
ORDER BY  ColumnA, ColumnB, …  (optional: ASC or DESC)
```

Note Hvis du bare angir én kolonne etter `ORDER BY`, får du **én kolonne med sorterte resultater**. Hvis du angir flere enn én kolonne, blir resultatene sortert etter KolonneA. Hvis KolonneA har identiske oppføringer i enkelte rader, blir disse radene sortert etter KolonneB.

Du kan utvide denne syntaksen med flere operatorer og parametere. En `WHERE` kan for eksempel brukes til å definere kriterier som avgrenser søkeresultatene dine. Syntaksen for `ORDER BY` kombinert med `WHERE` ser slik ut:

```sql
SELECT  ColumnA, ColumnB, …  or *
FROM  Table
WHERE  ColumnA  =  'SearchCondition'
ORDER BY  ColumnA, ColumnB, …  (optional: ASC or DESC)
```

Du kan også bruke følgende parametere:

- `SELECT`: Du kan bruke SELECT til å angi hvilke data du vil analysere. Bruk en stjerne `*` for å hente hele datasettet, eller skriv inn kolonnenavnene for å arbeide med de aktuelle kolonnene.
- `FROM`: Angir hvilken tabell du vil hente data fra.
- `WHERE`: WHERE er en valgfri klausul for å definere søkekriterier som vil begrense resultatene dine. Innenfor en `WHERE` kan du bruke operatorer som `=`, LIKE eller [NOT](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/sql-ikke/).
- `ORDER BY`: Definerer hvilken kolonne du vil sortere resultatene dine etter. Hvis du ikke legger til `ASC` eller `DESC`, vil resultatene som standard bli sortert i stigende rekkefølge.

Note Avhengig av hvilken database `ORDER BY`, sorteres NULL-verdier `ORDER BY` automatisk eller i henhold til den valgte sorteringsrekkefølgen. I SQLite, MySQL og SQL Server behandles NULL-verdier som de laveste verdiene. Det betyr at de vises først i stigende rekkefølge. I Oracle og PostgreSQL behandles NULL-verdier som de høyeste verdiene. De vises derfor sist i stigende rekkefølge.

## Hva kan SQL `ORDER BY` brukes til?

Her er noen praktiske bruksområder for SQL `ORDER BY`:

- Sortering av produktinformasjon etter produktnavn, kategori eller pris
- Sortering av transaksjoner etter beløp, dato eller navn
- Sortering av ordrer etter beløp eller rangering
- Sortering av ansatte etter lønn, kontrakter, ytelse eller avdeling
- Liste over lagerbeholdning basert på mengde eller navn
- Sortering av forsendelser basert på postnummer eller sporingsnummer
- Sortering av kundelister etter region eller alder

## Eksempler på SQL `ORDER BY`

Nå skal vi se på tre eksempler der vi bruker `ORDER BY`.

### Sortering av produkter etter pris

I dette eksemplet skal vi sortere produkter fra kategorien «Hår» i stigende rekkefølge etter pris. Vi bruker `FROM` og `WHERE` for å angi hvilke varer vi ønsker å sortere. Med `ORDER BY` og `ASC` angir vi at vi ønsker å sortere dem i stigende rekkefølge etter pris. Syntaksen ser slik ut:

```sql
SELECT  *
FROM  Products
WHERE  Category  = 'Hair'
ORDER BY  Price  ASC;
```

### Filtrering av kunder

La oss si at du jobber i en tabell som heter «Kunder» og ønsker å sortere alle kunder fra Storbritannia etter navn. Du vil sortere dem i omvendt alfabetisk rekkefølge, fra Z til A, så du legger til `DESC` i kommandoen `ORDER BY`.

```sql
SELECT  *
FROM  Customers
WHERE  Country = 'UK'
ORDER BY  Name  DESC;
```

### Sortering etter flere kategorier

I dette eksemplet ønsker du å sortere produkter fra kategorien «Elektronikk» etter bestillingsmengde. Hvis bestillingsmengdene er identiske, ønsker du å sortere dem etter hvilket land bestillingen kommer fra.

```sql
SELECT  *
FROM  Products
WHERE  Category  =  'Electronics'
ORDER BY  OrderQuantity ASC,  Country  DESC;
```

## Finnes det alternativer til SQL `ORDER BY`?

Det finnes ingen alternativer til `ORDER BY` i SQL som har samme funksjon. GROUP BY er imidlertid en SQL-kommando som ofte brukes sammen med `ORDER BY`. `GROUP BY` kan brukes til **å gruppere poster etter kategorier**, og `ORDER BY` kan i tillegg sortere disse postene.

**Et eksempel**: La oss si at du ønsker å gruppere kundenes bestillingsmengder etter land og deretter bruke aggregeringsfunksjonen AVG til å sortere etter gjennomsnittlig bestillingsmengde. Syntaksen for dette vil se slik ut:

```sql
SELECT  Country, AVG(OrderQuantity)
FROM  Customers
WHERE  Category = 'Electronics'
GROUP BY  Country
ORDER BY  AVG(OrderQuantity) ASC;
```

Du kan også bruke en HAVING-klausul til å filtrere de sorterte postene ut fra søkekriterier og betingelser. `LIMIT` kan brukes til å begrense resultatsettet til et bestemt antall.


This is a markdown version of: [https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/sql-order-by/](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/sql-order-by/) for AI/LLM consumption.