2010-07-06 5 views
3

Je suis confus sur la façon de limiter la sélection dans MySQL (par exemple SELECT * FROM tblProduction LIMIT 1, N;) où N est inconnu .. Quelqu'un peut-il m'aider sur comment puis-je limiter la sélection dans MySQL? Je veux montrer les enregistrements à partir de la ligne 2 (deux) jusqu'à la fin des enregistrements. Merci!comment puis-je limiter la sélection dans MySQL?

Répondre

6

Ceci est de la documentation LIMITE:

Pour récupérer toutes les lignes d'un certain décalage jusqu'à la fin du jeu de résultats, vous pouvez utiliser un certain grand nombre pour le second paramètre. Cette instruction extrait toutes les lignes de la ligne 96ème à la dernière:

SELECT * FROM tbl LIMIT 95,18446744073709551615; 

EDIT: Donc, dans votre cas, vous suffit de changer 95 à 2. Ensuite, vous obtiendrez toutes les lignes à partir du résultat 2.

+1

Source: http://dev.mysql.com/doc/refman/5.1/en/select.html – DPlusV

+0

La prémisse étant d'utiliser une valeur bien définie pour la borne supérieure; dans ce cas, un entier non signé de 64 bits. –

+1

merci, je dois résoudre ce problème dans ma requête SQL en utilisant INNER JOIN lui-même .. – Bryan

-2

Bonjour, vous pouvez transmettre la valeur N par une chaîne de requête ou un cookie.

"SELECT * FROM tblProduction LIMIT 1,".$_GET[Limit]; 
+2

Nasty pratique de laisser tomber le GET directement comme ça – alex

+0

1) Ne répond pas à la question. 2) C'est le petit temps de Bobby Tableaux ... – Pete

+0

En développant le commentaire @alex, la meilleure pratique serait d'essayer de convertir la chaîne de requête HTTP-GET ($ _GET) en entier. Dans ce cas, l'analyse des attaques par injection est inutile car cette valeur ne doit jamais être qu'un nombre entier. –