Faire un ORDER By quelque chose dans une liste

Résolu
cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 - 7 avril 2008 à 10:43
cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 - 7 avril 2008 à 16:24
Bonjour à tous.

Voila, j'ai une requete du type : SELECT champ1 FROM table 1 WHERE champ2='loremipsum'

Je voudrais savoir s'il est possible de faire un ORDER BY sur une liste non triée ?

Je m'explique : peut-on avoir quelque chose du genre : [marequete] ORDER BY champ3 ('b', 'k', 'a', 'g')
cas : un order by sur un champ, mais ni ASC ni DESC

Je ne sais pas si je suis assez clair, mais l'idée est là : faire un order by sur un ordre que j'ai défini

<hr />
lowke<sub>yhttp://s11.bitefight.fr/c.php?uid=45971</sub>

4 réponses

cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 1
7 avril 2008 à 16:24
Ok j'ai trouvé !!

SELECT champ1 FROM table 1 WHERE champ2='loremipsum' ORDER BY champ4, field
(champ3,
'b', 'k', 'a', 'g'
)limit 0,5

Il ne faut pas d'espace entre field et (

Désolé pour le dérangement !!

<hr />
lowke<sub>yhttp://s11.bitefight.fr/c.php?uid=45971</sub>
3
cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 1
7 avril 2008 à 11:44
C'est bon, j'ai trouvé order by field !!

Par contre j'ai une auttre erreur :

[marequete] ORDER BY champ4, champ3 field ('b', 'k', 'a', 'g') limit 0,5 mais il n'aime plus mon limit ...

Une idée ?

<hr />
lowke<sub>yhttp://s11.bitefight.fr/c.php?uid=45971</sub>
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
7 avril 2008 à 14:20
on peut avoir le message d'erreur ?

/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
0
cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 1
7 avril 2008 à 14:38
Bien sûr !

#1064 - You have an error in your SQL syntax.  Check the manual that 
corresponds to your MySQL server version for the right syntax to use near 
'(champ3,
'b', 'k', 'a', 'g'
) limit 0, 5' at line 1 


Requete :

SELECT champ1 FROM table 1 WHERE champ2='loremipsum' ORDER BY champ4, field
(champ3,
'b', 'k', 'a', 'g'
)limit 0,5

Si j'enlève le LIMIT, c'est ok
Si j'enlève le 
field
(champ3,
'b', 'k', 'a', 'g'
), c'est ok
S'il y a les deux, c'est plus bon


<hr />lowke<sub>yhttp://s11.bitefight.fr/c.php?uid=45971</sub>
0
Rejoignez-nous