Mysql : problème de IN et ORDER BY

  • Auteur de la discussion Auteur de la discussion Orsam
  • Date de début Date de début
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
 
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.
 
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
 
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 ;)
 
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