Page 1 sur 2
est ce correct?
Posté : 04 juin 2005, 14:40
par cicom
Bonjour à tous
Je vien faire vérifier cette syntaxe pour mysql.
SELECT id, adresse, points FROM sites ORDER BY RAND() LIMIT 0, 1 WHERE points => 0
merci
Posté : 04 juin 2005, 15:34
par Cyrano
Non, la clause LIMIT doit arriver en dernier et le WHERE AVANT le ORDER BY
Posté : 04 juin 2005, 17:47
par cicom
ok et le => ça marche ou pas?
Posté : 04 juin 2005, 17:49
par Cyrano
Par curiosité, as-tu essayé avant de poser la question ?
Posté : 04 juin 2005, 17:54
par cicom
bas oui mais avec le WHERE à la fin et c'était pas fameux
Posté : 04 juin 2005, 18:06
par Cyrano
fais donc voir la requête en question
Posté : 04 juin 2005, 20:36
par cicom
ba normalement ça devrai donner ça
SELECT id, adresse, points FROM sites WHERE points => 0 ORDER BY RAND() LIMIT 0, 1
Posté : 04 juin 2005, 20:50
par Cyrano
Fais donc un essai avec
Code : Tout sélectionner
SELECT id, adresse, points FROM sites WHERE points => 0 ORDER BY RAND(id) LIMIT 0, 1
Posté : 04 juin 2005, 21:11
par Xenon_54
RAND() ne prend pas de champ en paramètre:
http://dev.mysql.com/doc/mysql/fr/mathe ... #id3181941
Il peut cependant prendre un nombre initialisant le générateur de nombres aléatoires.

Posté : 04 juin 2005, 21:15
par Cyrano
Bon à savoir, merci Xenon_54, ça faisait vingt minutes que je cherchais cette partie, j'ai lancé l'idée en attendant de trouver.
Posté : 04 juin 2005, 21:30
par Xenon_54
Il faudrait recevoir plus d'informations de la part de cicom afin de voir quelle genre d'erreur est retournée par le serveur MySQL lors de l'exécution de la requête.
Je lui conseille donc de tenter d'exécuter la requête à l'aide de phpMyAdmin et de nous indiquer quelle erreur est retournée afin qu'on puisse l'aider d'avantage.

Posté : 04 juin 2005, 22:27
par cicom
oui c'est ce que j'ai fait et il renvoit
ERROR: Ponctuation invalide @ 52
STR: =>
Donc si j'ai bien compris le => ne lui plait pas. Peut être sans le = je vais voir
Posté : 04 juin 2005, 22:28
par cicom
oui voila il ne faut pas mettre le =
merci à tous je met résolu
Posté : 04 juin 2005, 22:29
par Xenon_54
>= non?

Posté : 04 juin 2005, 22:34
par cicom
lol non juste >