Velg de 10 beste radene i SQL

Velg De 10 Beste Radene I Sql



Når vi jobber i en SQL-database, kan vi komme over tilfeller der vi trenger å hente et spesifikt undersett av rader fra en gitt tabell. Dette lar oss begrense ressursene som trengs for å hente verdiene fra tabellen.

Heldigvis har vi i SQL tilgang til LIMIT-klausulen som lar oss kontrollere antall rader som returneres innenfor et gitt resultatsett. Denne funksjonen er veldig nyttig når vi har å gjøre med et stort datasett og faktisk ikke trenger hele raden, men i stedet en delmengde av den. Dette kan enten være for å få utformingen av dataene eller presentasjonen.

I denne opplæringen lærer vi hvordan vi kan bruke og jobbe med LIMIT-klausulen i SQL-databaser for å spesifisere antall rader vi ønsker å hente fra databasen.







Krav:

Før vi dykker ned i virkemåten og bruken av LIMIT-klausulen i SQL, la oss diskutere noen grunnleggende krav for denne opplæringen.



For å følge med på dette innlegget, trenger du følgende:



  1. MySQL 8.0 og nyere fungerer med MySQL 5
  2. Tilgang til Sakila-eksempeldatabasen
  3. Tillatelser til å spørre radene fra måldatabasen (lesetilgang)

Med de gitte kravene oppfylt, kan vi fortsette med denne opplæringen.





SQL GRENSE

I SQL lar LIMIT-klausulen oss begrense antall rader som returneres fra en gitt SQL-spørring. For eksempel, i en select-setning, i stedet for å returnere alle radene fra tabellen som kan inneholde over 1000 poster, kan vi velge å kun vise de første 10 radene.

Følgende viser den grunnleggende syntaksen til LIMIT-leddet i SQL:



VELG kol1, kol2, ...

FRA tbl_name

LIMIT antall_rader;

I dette eksemplet bruker vi LIMIT-leddet sammen med SELECT-setningen.

Fra den gitte syntaksen representerer 'tbl_name' navnet på tabellen som vi ønsker å hente dataene fra.

'num_rows' lar oss spesifisere maksimalt antall rader som returneres i resultatsettet.

Eksempel 1: Begrens antall rader

Den vanligste og grunnleggende rollen til LIMIT-klausulen er å angi maksimalt antall rader som er inkludert i resultatsettet.

Anta at vi ønsker å bruke 'film'-tabellen fra Sakila-eksempeldatabasen. Men siden vi ikke ønsker å hente alle de tilknyttede radene, kan vi velge de første 10 radene som vist i følgende eksempelklausul:

VELG * FRA filmen

GRENSE 10 ;

Når vi kjører den gitte spørringen, bør vi få en utdata som følger:

  Et skjermbilde av en datamaskinbeskrivelse generert automatisk

I dette eksemplet bruker vi LIMIT-leddet for å begrense resultatsettet til 10 rader. Dette henter de første 10 radene fra resultatet.

Eksempel 2: Bruk av OFFSET-verdien

I noen tilfeller vil vi kanskje hoppe over eller utelate et spesifikt antall rader. Anta for eksempel at vi ønsker å hente bare fem elementer, men vi ønsker å starte på posisjon 20. Vi kan bruke OFFSET-parameteren som lar oss fortelle LIMIT-leddet på hvilken posisjon vi ønsker å starte.

Dette er spesielt nyttig når du trenger å implementere pagineringen i et stort datasett som vist i følgende eksempel:

SELECT film_id, title, release_year, `length` FROM film

GRENSE 10 OFFSET tjue ;;

Dette skal returnere 10 rader fra posisjon 20 som følger:

Som du kan se fra det gitte resultatet, starter 'film_id' ved posisjon 21 og fortsetter til posisjon 30.

Eksempel 3: Bruk av Order BY-klausulen

En annen vanlig bruk av LIMIT-klausulen er i kombinasjon med ORDER BY-klausulen. Dette lar oss hente spesifikt antall rader som er basert på en bestemt rekkefølge. Dette kan inkludere grunnleggende sortering (stigende eller synkende), etc.

Anta for eksempel at vi ønsker å hente de 10 lengste filmene fra 'film'-tabellen. Vi kan bruke ORDER BY-leddet til å sortere verdiene basert på lengden og deretter begrense de 10 første radene.

Et eksempel er som følger:

VELG f.film_id, f.title, f.length

FRA film f

REKKEFØLGE ETTER lengde DES

GRENSE 10 ;

I dette tilfellet bruker vi ORDER BY-leddet for å bestille radene i synkende rekkefølge (høyest til lavest) og henter deretter de første 10 radene ved å bruke LIMIT-leddet.

Resultatsettet er som følger:

  En tabell over en liste Beskrivelse automatisk generert med middels sikkerhet

Der har du det!

Konklusjon

I dette innlegget lærte vi grunnleggende og avanserte funksjoner ved å jobbe med LIMIT-klausulen i SQL-databaser.