Je suis coincé avec la requête suivante, qui ne sera pas ordonnée par sa date. Toute aide ou aperçu de ce que je fais de mal sera très apprécié. La requête est censée obtenir une entrée par thread_id, puis afficher le message le plus récent dans le fil, un peu comme avec un post de forum, ce qui est bien. Mais quand j'essaie de classer les résultats du plus récent au plus ancien en utilisant la clause ORDER BY, il semble l'ignorer.requête Mysql ne sera pas ORDER BY date
$query = "SELECT *
FROM messages
WHERE (thread_id, received)
IN (SELECT thread_id, MAX(received)
FROM messages
WHERE receiver='$user' OR sender='$user'
AND is_hidden_receiver!='1'
GROUP BY thread_id)
ORDER BY received DESC";
Cheers, Lea
Cela n'a pas de sens - 'SELECT *' inclut la colonne 'received', qui est requise pour certains db. Donc 'ORDER BY reçu DESC' devrait fonctionner. –
Quel est le type de données actuel du champ 'received'? – Mike
Quelle version de MySQL utilisez-vous et sur quelle plateforme? Superficiellement, en supposant que la colonne 'received' est en fait un type DATE/TIME, il n'y a pas d'excuse pour ne pas fonctionner - autre, peut-être, qu'un bogue dans MySQL. –