J'ai une table qui contient une liste d'événements de la communauté avec des colonnes pour les jours où l'événement commence et se termine. Si la date de fin est 0, l'événement se produit uniquement le jour du début. J'ai une requête qui renvoie le nombre d'événements qui se produisent un jour donné:MySQL pour obtenir le nombre de lignes qui tombent sur une date pour chaque jour d'un mois
SELECT COUNT(*) FROM p_community e WHERE
(TO_DAYS(e.date_ends)=0 AND DATE(e.date_starts)=DATE('2009-05-13')) OR
(DATE('2009-05-13')>=DATE(e.date_starts) AND DATE('2009-05-13')<=DATE(e.date_ends))
Je viens sous à une date que je veux tester « 2009-05-13 ».
Je dois être en mesure d'extraire ces données pour chaque jour d'un mois complet. Je pourrais juste courir la question contre chaque jour un à la fois, mais je préfère courir une question qui peut me donner le mois entier immédiatement. Quelqu'un at-il des suggestions sur la façon dont je pourrais faire cela?
Et non, je ne peux pas utiliser une procédure stockée.
J'ajouterais une quelques colonnes à la sélection, mais oui cela devrait le faire. –
C'est tout ce qu'il a mis dans l'exemple donc je suis allé avec ça. – Greg
Cela fonctionnerait si chaque événement était une date unique, mais j'ai affaire à une plage de dates pour chaque élément. Chaque événement s'étend de date_starts à date_ends, donc si un événement est du 10 au 14 mai, je dois être en mesure de reconnaître le 12 mai. – ChiperSoft