Mysql : problème de IN et ORDER BY

Orsam

WRInaute discret
Bonjour à tous,

je cherche désespérément le moyen de faire une requete mySQLavec un IN qui n'est pas ordonné.

J'explique :
Voici ma requete :

Code:
SELECT * FROM MATABLE WHERE id in (41,14,28)

Le problème, c'est que le résultat ne me donne pas les id 41,14 et 28, mais 14,28,41 ce qui veux dire qu'il me les retourne triés malgré le fait que je ne mette aucun ORDER BY.

Quelqu'un à une idée pour que mysql me retourne les résultats tel que je lui ai donné ???

Merci beaucoup.

Orsam
 

Blount

WRInaute impliqué
Quand tu ne précises pas de ORDER By, le trie se fait au bon vouloir de MySQL.
Pour trier suivant un ordre précis, ORDER By FIELD() sera ton ami je pense.
 

Orsam

WRInaute discret
Bonjour et merci d'avoir répondu si rapidement...

Mais même avec
Code:
ORDER By FIELD(45,34,72)
cela ne change rien...

Je ne vois pas comment faire, à part des requêtes successives mais je suis sûr que MySql peut le faire...

Orsam
 

Blount

WRInaute impliqué
Tu l'utilises mal.
Comment MySQL fait pour deviner quel champ doit être trié suivant ces valeurs ?
Code:
ORDER By FIELD(id, 45,34,72)

Il faut regarder un peu le documentation avant de foncer tête baissée dans du copier/coller ;)
 

Orsam

WRInaute discret
Blount,

J'ai dit des grosses conner... ça marche très bien.. Petit problème de cache.. :oops:

Je te remercie beaucoup..

Orsam
 

Discussions similaires

Haut