Regrouper des valeurs d'une table par mois ou par année [Résolu]

Messages postés
2
Date d'inscription
lundi 20 mai 2019
Statut
Membre
Dernière intervention
20 mai 2019
- - Dernière réponse : user2205
Messages postés
2
Date d'inscription
lundi 20 mai 2019
Statut
Membre
Dernière intervention
20 mai 2019
- 20 mai 2019 à 10:04
Bonjour,

Je suis actuellement débutant en Mysql, et j'aimerai avoir votre avis. Je code actuellement sur une application Php. J'ai une table avec des valeurs associées à une clé primaire DATE (un jour). Dans mon application, à certains moments, je peux effectuer des requêtes afin d'avoir la somme de ces valeurs pour un mois ou une année spécifique. Par rapport à cela, j'avais une question. Est-il mieux :

1-De faire la requête dans la code à chaque itération

2-De créer une vue matérialisée faisant un GROUP BY month et GROUP BY year (je ne pense pas que ce soit l'utilisation correcte d'une vue matérialisée)

3-Créer deux tables distinctes : ma_table_month et ma_table_year, qui seront régies par un évènement récurrent dans le temps

4- Une autre solution ?

Merci d'avance pour vos réponses.



Configuration: Windows / Firefox 66.0
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
3467
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
19 septembre 2019
914
1
Merci
Bonjour,

La solution 1 est bonne. La solution 2 est bonne aussi. Préfère la 2 si tu penses réutiliser cette même vue dans d'autres requêtes, sinon elles sont assez équivalentes.

La 3 est intéressante quand on a vraiment un gros volume de données, ce qui n'est pas ton cas puisque tu n'as qu'une ligne par jour.

Xavier

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 60022 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Reivax962
Messages postés
2
Date d'inscription
lundi 20 mai 2019
Statut
Membre
Dernière intervention
20 mai 2019
0
Merci
Très bien, merci beaucoup pour cette réponse rapide !

Bonne journée !
Commenter la réponse de user2205