Order by et limit problème

Fermé
Flanpi - 23 janv. 2014 à 20:07
 Flanpi - 23 janv. 2014 à 20:55
Bonsoir,

J'ai une requête assez simple a faire mais que je n'arrive pas tout de même pas mettre en place. Je voudrais afficher afficher les messages de mon forum dans un ordre bien précis mais quoi que je fasse le résultat ne me convient pas...

Si je fais un ORDER BY date DESC LIMIT 20
J'obtiens les 20 derniers résultat afficher du plus vieux au plus ancien
Si je fais un ORDER BY date ASC LIMIT 20
J'obtiens les 20 premiers résultat afficher du plus récent au plus ancien

Moi je voudrais obtenir les 20 dernier résultat et qu'ils soit afficher du plus récent au plus ancien ..., auriez vous une idée de comment faire? j'ai beau réfléchir, je ne trouve pas de solution... Merci

2 réponses

KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
23 janv. 2014 à 20:24
Tu peux faire quelque chose comme ça :

select * from table
where date in (select date from table order by date desc limit 20)
order by date asc
0
Salut KX merci votre réponse, j'ai essayé votre requête et j'obtiens "Syntax error or access violation: 1235 This version of MySQL doesn't yet support 'LIMIT & "

sinon j'aurais peut être du le préciser mais la requête de base contient en plus un inner join pour faire la liaison entre la table message et la table user

voici la requête en entier :


$message=$DB->query("SELECT text,m_date,username,avatar,inscription FROM messages
INNER JOIN users ON users.id_users = messages.m_id_from
WHERE id = '$id' ORDER BY m_date DESC LIMIT 20 ");
0