Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR: NoSQL
OFFSET LIMIT Satsen är en valfri sats för att hoppa över och sedan ta ett antal värden från frågan. Antalet OFFSET och antalet LIMIT krävs i OFFSET LIMIT-satsen.
När OFFSET LIMIT används med en ORDER BY sats skapas resultatuppsättningen genom att hoppa över och ta på sig de ordnade värdena. Om ingen ORDER BY sats används resulterar det i en deterministisk värdeordning.
Syntax
OFFSET <offset_amount> LIMIT <limit_amount>
Argument
| beskrivning | |
|---|---|
<offset_amount> |
Anger det heltalsantal objekt som frågeresultatet ska hoppa över. |
<limit_amount> |
Anger det heltalsantal objekt som frågeresultatet ska innehålla. |
Exempel
I exemplet i det här avsnittet används den här referensuppsättningen med objekt. Varje objekt innehåller en name egenskap.
[
{
"name": "Sawyer Miller",
"team": "Leadership team"
},
{
"name": "Jennifer Wilkins",
"team": "Leadership team"
},
{
"name": "Hannah Haynes",
"team": "Leadership team"
},
{
"name": "Isaac Talbot",
"team": "Leadership team"
},
{
"name": "Riley Johnson",
"team": "Leadership team"
}
]
Kommentar
I de ursprungliga JSON-data sorteras inte objekten.
Det första exemplet innehåller en fråga som endast name returnerar egenskapen från alla objekt sorterade i alfabetisk ordning.
SELECT VALUE {
name: e.name
}
FROM
employees e
WHERE
e.team = "Leadership team"
ORDER BY
e.name
[
{
"name": "Hannah Haynes"
},
{
"name": "Isaac Talbot"
},
{
"name": "Jennifer Wilkins"
},
{
"name": "Riley Johnson"
},
{
"name": "Sawyer Miller"
}
]
I nästa exempel ingår en fråga som använder OFFSET LIMIT -satsen för att hoppa över det första objektet. Gränsen är inställd på antalet objekt i containern för att returnera alla möjliga återstående värden. I det här exemplet hoppar frågan över ett objekt och returnerar de återstående fyra (av en gräns på fem).
SELECT VALUE {
name: e.name
}
FROM
employees e
WHERE
e.team = "Leadership team"
ORDER BY
e.name
OFFSET 1 LIMIT 5
[
{
"name": "Isaac Talbot"
},
{
"name": "Jennifer Wilkins"
},
{
"name": "Riley Johnson"
},
{
"name": "Sawyer Miller"
}
]
Det här sista exemplet innehåller en fråga som använder OFFSET LIMIT -satsen för att returnera en delmängd av de matchande objekten genom att hoppa över ett objekt och ta nästa tre.
SELECT VALUE {
name: e.name
}
FROM
employees e
WHERE
e.team = "Leadership team"
ORDER BY
e.name
OFFSET 1 LIMIT 3
[
{
"name": "Isaac Talbot"
},
{
"name": "Jennifer Wilkins"
},
{
"name": "Riley Johnson"
}
]
Kommentarer
-
OFFSETBåde antalet och antaletLIMITkrävs iOFFSET LIMIT-satsen. Om en valfriORDER BYsats används skapas resultatuppsättningen genom att hoppa över de ordnade värdena. Annars returnerar frågan en fast ordning med värden. - RU-avgiften för en fråga med
OFFSET LIMITökar när antalet villkor som förskjuts ökar. För frågor som har flera sidor med resultat rekommenderar vi vanligtvis att du använder fortsättningstoken. Fortsättningstoken är ett "bokmärke" för den plats där frågan senare kan återupptas. Om du använderOFFSET LIMITfinns det inget "bokmärke". Om du vill returnera frågans nästa sida måste du börja från början. - Du bör använda
OFFSET LIMITför fall då du vill hoppa över objekt helt och spara klientresurser. Du bör till exempel användaOFFSET LIMITom du vill hoppa till det 1000:e frågeresultatet och inte behöver visa resultat 1 till 999. På serverdelenOFFSET LIMITläser du fortfarande in varje objekt, inklusive de objekt som hoppas över. Prestandafördelen mäts för att minska klientresurserna genom att undvika bearbetning av objekt som inte behövs.