|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 6 ![]() |
Encore un problème de débutant...
Soit une table avec ID pour seul champ: ID 9 8 7 6 5 4 3 2 1 A partir de n'importe quel ID, comment obtenir les 3 précédents, dans l'ordre décroissant? J'essaie ça: Code :
SELECT id FROM TABLE WHERE id>$id ORDER BY id DESC LIMIT $id,3 En choisissant 5, je voudrais obtenir le 8 (j'obtiens un résultat nul) En choisissant 2, je voudrais obtenir le 5 (j'obtiens 7) En choisissant 7, je voudrais obtenir le 9 (j'obtiens un résultat nul) Quelqu'un pour m'aider s'il vous plait? |
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Code :
|
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 6 ![]() |
Merci pour cette proposition, mais ça ne convient pas. Cette requête va me donner les 3 premiers résultats correspondant au WHERE, mais pas ceux les plus proches de $ID.
ID 9 8 7 6 5 4 3 2 1 Pour un ID à 4, ta requête me donne le résultat 9, 8, 7, alors que j'aimerais obtenir 7, 6, 5. Il me faut les trois premiers directement voisins de mon $ID. J'ai cru comprendre que le LIMIT se faisait a posteriori, un peu comme un filtre sur le résultat de la requête. Je suis drôlement embêté, en tout cas. Merci pour votre aide. |
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Code :
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 6 ![]() |
Merci Antoun, ça marche !
J'évite le smiley qui lève et agite les bras, mais le coeur y est. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com