0
votes

Comment obtenir le nombre d'événements actifs qui se produisent dans une semaine donnée Date de début et de fin (MySQL)?

C'est le tableau actuel que j'ai.

ID      Start_Date          End_Date
6446    2018-01-01 00:00:00 2018-04-01 00:00:00
6848    2018-05-01 00:00:00 2018-05-31 00:00:00
3269    2016-11-09 00:00:00 2016-11-21 00:00:00
7900    2018-11-07 00:00:00 2018-11-30 00:00:00
4006    2017-04-06 00:00:00 2017-04-30 00:00:00


4 commentaires

Vous pouvez utiliser la semaine () fonction de la semaine de retour de la semaine de retour dans l'année. Ensuite, testez juste un peu l'année et vous pouvez travailler avec elle.


Pouvez-vous partager les Resultst attendus


Comment définissez-vous "la semaine 1"? Semaine contenant le 1er janvier? Quatre premiers jours? La semaine commence le dimanche? Lundi?


@Salmana Hey je viens de réaliser que je ne vous ai pas répondu. "Semaine 1" ferait référence aux dates réelles de celle-ci, extraite à l'aide de la fonction d'extrait MySQL.


3 Réponses :


0
votes

Essayez d'utiliser le nombre de comptes () dans MySQL. xxx


5 commentaires

Oui, cela me donne le nombre d'événements actifs dans une semaine spécifique. Est-il possible d'être fait pour chaque semaine en 2019?


Pour archier que je vous recommanderais d'utiliser un langage de programmation tel que PHP, Java ou autre. Là, vous pouvez définir un compteur qui augmente automatiquement et vous pouvez formater la sortie à vos attentes.


Je veux l'apporter à la production. Je veux que mes utilisateurs puissent rafraîchir le rapport dans Excel. Si j'utilise un script Lang, cela signifie-t-il que mes utilisateurs doivent être capables d'exécuter au moins le script?


S'ils veulent le dernier état, bien sûr, ils ont besoin. Si vous venez d'exécuter le script de la console ou de ce que vous devez le faire également pour obtenir le dernier état. Cela devrait arriver automatiquement, peut-être que vous recherchez quelque chose comme des tâches de planification, donc chaque jour ou une semaine à 14h30. votre ancien fichier serait remplacé par un nouveau


Hey Max, merci pour vos commentaires et votre réponse. Je reçois de l'endroit où vous venez, mais ce rapport sort pour compléter noobs (lol), il serait donc difficile de leur demander de lancer le script ou quelque chose du genre. La meilleure chose à prendre en compte consiste à exécuter un script à l'aide de Python (ou quelque chose) pour exécuter la requête, placez-la dans Excel et téléchargez-le dans Google Drive. Cela pourrait fonctionner. Haha, merci max!



0
votes

Essayez de passer au-dessous de la requête

SELECT 
       IFNULL(DATE_FORMAT(Start_Date, '%Y WEEK %U'), 0) AS STARTDate, 
       IFNULL(DATE_FORMAT(End_Date, '%Y WEEK %U'), 0) AS ENDDate,
       IFNULL(COUNT(ID),0) AS total,
       group_concat(ID)
FROM `event` 
where Start_Date < End_Date
Group by STARTDate;


1 commentaires

Hey, ça a l'air un peu utile. Je vais essayer ça demain.



0
votes

J'ai trouvé une réponse, mais j'ai rencontré un nouveau problème.

bâtiment sur le code de Kranti, la réponse est la suivante. P>

SELECT 
   EXTRACT(WEEK FROM starting_date) AS STARTDate, 
   EXTRACT(WEEK FROM ending_date) AS ENDDate,
   discount_type,
   COUNT(ID) AS total
   FROM `event` 
   where starting_date < ending_date
   Group by 1,2


1 commentaires

Le nouveau problème est lorsque mes événements couvrent un an. Qui gâchent mon extrait (semaine ...) fonction. Encore enquêter.