il manque une clause ORDER BY dans toutes les réponses ici. Les tables SQL n'ont pas d'ordre par défaut, et sans ORDER BY explicite, il n'y a aucun moyen de dire quels sont les 10 premiers résultats à ignorer
fthiella
Réponses:
125
Utilisez LIMIT avec deux paramètres. Par exemple, pour renvoyer les résultats 11-60 (où le résultat 1 est la première ligne), utilisez:
Pour récupérer toutes les lignes d'un certain décalage jusqu'à la fin du jeu de résultats, vous pouvez utiliser un grand nombre pour le deuxième paramètre. Cette instruction récupère toutes les lignes de la 96e ligne à la dernière:
SELECT*FROM tbl LIMIT 95,18446744073709551615;
Évidemment, vous devriez remplacer 95par 10. Le grand nombre qu'ils utilisent est 2 ^ 64 - 1, au fait.
C'est utile et rapide à faire, pour impala et autres bases de données où la limite avec offset nécessite un argument d'ordre qui n'est pas toujours souhaitable.
KarthikS
-5
Si votre table est triée par identifiant, vous pouvez facilement le faire en:
Réponses:
Utilisez LIMIT avec deux paramètres. Par exemple, pour renvoyer les résultats 11-60 (où le résultat 1 est la première ligne), utilisez:
Pour une solution pour renvoyer tous les résultats, voir la réponse de Thomas .
la source
Il y a aussi un OFFSET qui devrait faire l'affaire:
la source
limit 10,10
OFFSET est ce que vous recherchez.
la source
À partir du manuel :
Évidemment, vous devriez remplacer
95
par10
. Le grand nombre qu'ils utilisent est 2 ^ 64 - 1, au fait.la source
LIMIT vous permet de sauter n'importe quel nombre de lignes. Il a deux paramètres, et le premier d'entre eux - combien de lignes à ignorer
la source
où
id
est la clé de votre table.la source
Si votre table est triée par identifiant, vous pouvez facilement le faire en:
la source