Maison >base de données >tutoriel mysql >Comment trouver les trois événements à venir les plus proches dans MySQL ?

Comment trouver les trois événements à venir les plus proches dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-02 14:11:39369parcourir

How to Find the Three Nearest Upcoming Events in MySQL?

Récupération des événements à venir les plus proches à l'aide de requêtes MySQL

Pour connaître les événements à venir les plus proches d'une date spécifiée dans une base de données MySQL, une requête bien conçue peut être utilisée. Considérez la structure de table suivante :

EVENT_ID    EVENT_NAME      EVENT_START_DATE
1           test            2011-06-01 23:00:00
2           test2           2011-06-03 23:00:00
3           test3           2011-07-01 23:00:00
4           test4           2011-08-09 23:00:00
5           test5           2011-06-02 23:00:00
6           test6           2011-04-20 23:00:00

Pour récupérer les trois événements avec les dates de début à venir les plus proches, utilisez la requête suivante :

SELECT event_id
FROM Table
ORDER BY ABS(DATEDIFF(EVENT_START_DATE, NOW()))
LIMIT 3;

Cette requête utilise la fonction ABS() pour veillez à ce que les événements dont les dates de début sont passées soient ignorés. Les événements survenant dans le futur sont hiérarchisés en fonction de leurs dates de début par ordre croissant.

Alternativement, si seuls les événements qui ne se sont pas encore produits sont souhaités, la requête peut être modifiée comme indiqué ci-dessous :

SELECT event_id
FROM Table
WHERE EVENT_START_DATE > NOW()
ORDER BY EVENT_START_DATE
LIMIT 3;

Cette requête personnalisée filtre les événements en fonction de leurs dates de début futures, garantissant que seuls les événements à venir sont inclus dans les résultats.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn