Välj de 10 bästa raderna i SQL

Valj De 10 Basta Raderna I Sql



När vi arbetar i en SQL-databas kan vi stöta på tillfällen där vi behöver hämta en specifik delmängd av rader från en given tabell. Detta gör att vi kan begränsa de resurser som behövs för att hämta värdena från tabellen.

Lyckligtvis har vi i SQL tillgång till LIMIT-satsen som låter oss kontrollera antalet rader som returneras inom en given resultatuppsättning. Den här funktionen är väldigt användbar när vi har att göra med en stor datamängd och egentligen inte behöver hela raden utan istället en delmängd av den. Detta kan antingen vara för att få informationens layout eller presentation.

I den här handledningen kommer vi att lära oss hur vi kan använda och arbeta med LIMIT-satsen i SQL-databaser för att specificera antalet rader som vi vill hämta från databasen.







Krav:

Innan vi dyker in i hur LIMIT-satsen fungerar och används i SQL, låt oss diskutera några grundläggande krav för denna handledning.



För att följa detta inlägg behöver du följande:



  1. MySQL 8.0 och senare fungerar med MySQL 5
  2. Tillgång till Sakilas exempeldatabas
  3. Behörigheter att fråga raderna från måldatabasen (läsbehörighet)

Med de givna kraven uppfyllda kan vi fortsätta med denna handledning.





SQL LIMIT

I SQL tillåter LIMIT-satsen oss att begränsa antalet rader som returneras från en given SQL-fråga. Till exempel, i en select-sats, istället för att returnera alla rader från tabellen som kan innehålla över 1000 poster, kan vi välja att bara visa de första 10 raderna.

Följande visar den grundläggande syntaxen för LIMIT-satsen i SQL:



VÄLJ kol1, kol2, ...

FRÅN tbl_name

LIMIT antal_rader;

I det här exemplet använder vi LIMIT-satsen tillsammans med SELECT-satsen.

Från den givna syntaxen representerar 'tbl_name' namnet på tabellen från vilken vi vill hämta data.

'num_rows' tillåter oss att ange det maximala antalet rader som returneras i resultatuppsättningen.

Exempel 1: Begränsa antalet rader

Den vanligaste och grundläggande rollen för LIMIT-satsen är att ställa in det maximala antalet rader som ingår i resultatuppsättningen.

Anta att vi vill använda 'film'-tabellen från Sakilas exempeldatabas. Men eftersom vi inte vill hämta alla associerade rader, kan vi välja de första 10 raderna som visas i följande exempelsats:

VÄLJ * FRÅN film

BEGRÄNSA 10 ;

När vi kört den givna frågan bör vi få en utdata enligt följande:

  En skärmdump av en datorbeskrivning som genereras automatiskt

I det här exemplet använder vi LIMIT-satsen för att begränsa resultatuppsättningen till 10 rader. Detta hämtar de första 10 raderna från resultatet.

Exempel 2: Använda OFFSET-värdet

I vissa fall kanske vi vill hoppa över eller utelämna ett visst antal rader. Anta till exempel att vi bara vill hämta fem element, men vi vill börja vid position 20. Vi kan använda parametern OFFSET som låter oss tala om för LIMIT-satsen vid vilken position vi vill börja.

Detta är särskilt användbart när du behöver implementera pagineringen i en stor datamängd som visas i följande exempel:

SELECT film_id, title, release_year, `length` FRÅN filmen

BEGRÄNSA 10 OFFSET tjugo ;;

Detta bör returnera 10 rader från position 20 enligt följande:

Som du kan se från det givna resultatet, startar 'film_id' vid position 21 och fortsätter till position 30.

Exempel 3: Användning av Order BY-klausulen

En annan vanlig användning av LIMIT-satsen är i kombination med ORDER BY-satsen. Detta gör att vi kan hämta ett specifikt antal rader som är baserade på en viss ordning. Detta kan inkludera den grundläggande sorteringen (stigande eller fallande) etc.

Anta till exempel att vi vill hämta de 10 längsta filmerna från tabellen 'film'. Vi kan använda ORDER BY-satsen för att sortera värdena baserat på längden och sedan begränsa de första 10 raderna.

Ett exempel är följande:

VÄLJ f.film_id, f.title, f.length

FRÅN film f

BESTÄLLA EFTER längd AVSK

BEGRÄNSA 10 ;

I det här fallet använder vi ORDER BY-satsen för att ordna raderna i fallande ordning (högst till lägst) och hämtar sedan de första 10 raderna med hjälp av LIMIT-satsen.

Resultatuppsättningen är som följer:

  En tabell över en lista Beskrivning som genereras automatiskt med medelhög tillförsikt

Där har du det!

Slutsats

I det här inlägget lärde vi oss grunderna och de avancerade funktionerna för att arbeta med LIMIT-satsen i SQL-databaser.