[MySQL] prendre les 30 derniers enregistrements

:hello:

ça fait longtemps que j’ai plus fais de sql et je patauge un peu :smiley:

j’aimerais prendre les 30 derniers enregistrements, ordonnés du plus petit au plus grand

exemple :

2006-03-02
2006-03-03

2006-03-30
2006-03-31

seulement si je fais un

ORDER BY `post_id` DESC
LIMIT 30

ils sont triés à l’envers

et

ORDER BY `post_id` ASC
LIMIT 30

me donne le 30 premiers.

comment faire ? merci :slight_smile:

pour toi les derniers, ce sont les 30 derniers en fonction de la date ?

si oui bah, un ORDER BY champ_date DESC LIMIT 30 te donneras les 30 derniers :neutre: …

oui mais moi j’aimerais que le tri se fasse de la plus ancienne date à la plus récente

2006-03-02
2006-03-03

2006-03-30
2006-03-31

et pas

2006-03-31
2006-03-30

2006-03-03
2006-03-02

Tu vois ?

bah parcours ton résultat à l’envers ? :ane:

mouai :smiley:

vais faire comme ça

et si tu fais un OFFSET de Ntuples-30 en tri ASC ?

C’est à dire ?

Je sais que c’est pas beau gnia gnia gnia


SELECT * FROM table ORDER by date ASC OFFSET ((SELECT count(id) from table)-30)

ça ne fonctionne pas avec MySQL 4.1.9 :neutre:
(je connais pas du tout OFFSET)

argh, c’est dans mysql 5 mini :sarcastic:

postgresql mon sauveur :love: :ane:

en fait offset te permet de récupérer toutes les lignes à partir de tant et tant de lignes…

OK ! Tant pis…

je vais faire un array_reverse :slight_smile: