2010-10-29 22 views
1

Si j'exécute une requête SELECT qui renvoie 10 lignes, existe-t-il un moyen de sélectionner le 2ème élément dans le jeu de résultats directement dans l'instruction SELECT (obtenant effectivement un résultat de ligne unique)?est-il possible de sélectionner un index de ligne spécifique à partir d'un ensemble de résultats de sélection mysql?

code psedudo:

SELECT id de MYTABLE où MYTABLE.foo = 0 et RESULT_INDEX = 2;

cela renverrait le 2ème élément d'un jeu de résultats multi-éléments.

Répondre

3
SELECT id from MYTABLE where MYTABLE.foo = 0 LIMIT 1, 1; 

Vous aurez probablement envie de spécifier une clause ORDER BY ou bien sera défini arbitrairement la nième résultat.

Edit: Oops, le premier LIMIT est égal à zéro à base param

+0

j'ai joué avec, mais cela n'a pas produit le résultat souhaité, exactement. Si je limite 1 alors je n'obtiendra que le premier résultat, ce qui n'est pas ce que je cherche. Je veux que le jeu de résultats soit aussi grand qu'il le serait organiquement, mais ensuite, cueillir l'objet à partir d'un endroit spécifique dans ce jeu de résultats. Je le fais maintenant programmatique, mais espérais qu'il y avait une approche straight sql. –

+0

Avez-vous utilisé 'LIMIT 1, 1'? Cela récupère un enregistrement au décalage 1 (deuxième rangée) du jeu de résultats. Cela ressemble exactement à ce que vous voulez, mais je peux interpréter votre question de manière incorrecte. – Phil

+0

non, j'avais suivi vos instructions initiales, cela fonctionne, merci! –

Questions connexes