Aller au contenu

Sujets conseillés

Posté

'jour,

Question simple: est-il possible avec une simple requête SQL, de récupérer un enregistrement (l'un des champs de cet enreg est une date), dont celle-ci est la plus proche de la date du jour ?

Je précise que cela ne me pose pas de problème en php, mais si une solution existe avec SQL, ce serait encore mieux...

Merci,

xpatval

Posté

Bonjour...

en utilisant les clauses LIMIT et ORDER BY :

SELECT * FROM ma_table WHERE champ_date <= NOW() ORDER BY champ_date DESC LIMIT 0, 1

Cela te retourner'élément dont la date est la plus récente par rapport au moment ou la requête est exécutée...

Posté

Ahhh, bien vu pour NOW() que je n'ai encore jamais utilisé...

En tout cas, ça fonctionne !

Merci à vous deux...

xpatval

Posté

La solution avec MAX() est correcte aussi, et dans le cas où la date de référence est toujours "aujourd'hui", elle est plus courte et plus rapide (pas d'alogrithme de tri)...

Simplement ça ne laisse pas la possibilité de changer le réféntiel alors qu'avec la forumlation avec NOW(), on peut imaginer mettre un timestamp différent pour effectuer la comparaison...à toi de voir quelle solution te convient le mieux !

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...