Datasortering kommer inn i scenarier der du trenger å organisere dataene i spesifikk rekkefølge, noe som er nyttig for datavisualisering, innsamling av datainnsikt og mer. Det gjør også prosessen med å hente, rense og analysere dataene mye enklere.
I SQL har vi ORDER BY-klausulen som gir oss funksjonaliteten til å sortere dataene i stigende eller synkende rekkefølge.
I denne opplæringen lærer vi hvordan du sorterer dataene i stigende rekkefølge ved å bruke ORDER BY og ASC nøkkelordet.
MERK: For demonstrasjonsformål vil vi bruke Sakila-eksempeldatabasen og MySQL versjon 8.0. Referer gjerne til og bruk ethvert datasett som du mener er aktuelt.
SQL stigende rekkefølge
Den stigende rekkefølgen i SQL refererer ganske enkelt til en metode for å sortere dataene i et spørringsresultat. Den stigende rekkefølgen kan være enten numerisk eller alfabetisk avhengig av målsorteringskolonnen.
Når vi bruker den stigende rekkefølgen på en kolonnesortering, vil SQL organisere dataene som spenner fra den minste (laveste) verdien til den største (høyeste) verdien.
Når det gjelder strenger, bruker den stigende rekkefølgen alfabetisk rekkefølge der A er lavest og Z er høyeste.
SQL BESTILL ETTER
Som du kan gjette, er måten vi utfører sortering, stigende eller synkende på i SQL ved bruk av ORDER BY-klausulen.
ORDER BY-klausulen lar oss sortere resultatsettet til en spørring basert på én eller flere kolonner. Vi kan uttrykke syntaksen til klausulen som følger:
VELG kolonne1, kolonne2, ...FRA bordet
REKKEFØLGE BY column_to_sort;
Etter ORDER BY-klausulen spesifiserer vi sorteringskriteriene. Dette er i utgangspunktet kolonnen vi ønsker å bestille.
SQL ASC nøkkelord
ASC-nøkkelordet i sammenheng med ORDER BY-klausulen forteller databasemotoren å sortere dataene i stigende rekkefølge.
Det er greit å huske på at dette er standardalternativet for ORDER BY-klausulen. Derfor, selv om vi ikke eksplisitt ber SQL om å sortere dataene i stigende rekkefølge, vil den automatisk gjøre det som standardoperasjon.
Her er syntaksen for hvordan vi bruker ASC-nøkkelordet i ORDER BY-klausulen:
VELG kolonne1, kolonne2FRA tabellnavn
REKKEFØLGE BY kolonne ASC;
Dette bør sortere den angitte kolonnen i stigende rekkefølge.
Eksempel 1: Grunnleggende bruk
La oss se på et eksempel på bruk av ORDER BY-klausulen. Tenk på 'film'-tabellen fra Sakila-eksempeldatabasen. Anta at vi ønsker å sortere dataene fra den høyeste leieprisen i stigende rekkefølge.
PLUKKE UTtittel,
utgivelsesår ,
lengde,
leiepris
FRA
film
REKKEFØLGE AV
rental_rate ASC;
I dette tilfellet bruker vi 'rental_rate' i ORDER BY-klausulen for raskt å sortere filmene fra den laveste til den høyeste leieprisen.
Den resulterende utgangen er som følger:
Eksempel 2: Sortering av flere kolonner
SQL lar oss også angi mer enn én kolonne som sorteringsparameter. Dette kan være svært nyttig når vi skal sortere dataene basert på mer enn ett kriterium.
For å oppnå dette kan vi ganske enkelt liste opp flere kolonner i ORDER BY-leddet atskilt med komma.
La oss ta 'betalingstabellen' fra Sakila-bordet. Vi kan sortere basert på beløpet og 'betalingsdato' i stigende rekkefølge som vist i følgende eksempelspørring:
PLUKKE UTKunde ID,
beløp,
betalingsdato
FRA
innbetaling
REKKEFØLGE AV
beløp ASC,
betalingsdato ASC;
Denne spørringen skal hente kolonnene «customer_id», «amount» og «payment_date» fra «payment»-tabellen. Spørringen sorterer imidlertid først resultatet i stigende rekkefølge basert på betalingsbeløpet etterfulgt av betalingsdatoen.
Dette gir doble sorteringskriterier som vist i den resulterende tabellen:
Konklusjon
I denne opplæringen dykket vi dypt ned i prosessen med å sortere dataene i SQL ved å bruke ORDER BY-klausulen. Vi lærte også hvordan vi kan bruke ASC-nøkkelordet til å sortere dataene i stigende rekkefølge. Til slutt undersøkte vi hvordan vi kan sortere dataene ved å bruke flere kolonner.