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
3 Réponses :
Essayez d'utiliser le nombre de comptes () dans MySQL.
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!
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;
Hey, ça a l'air un peu utile. Je vais essayer ça demain.
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
Le nouveau problème est lorsque mes événements couvrent un an. Qui gâchent mon extrait (semaine ...) fonction. Encore enquêter.
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.