Regrouper des valeurs d'une table par mois ou par année

Résolu/Fermé
user2205 Messages postés 2 Date d'inscription lundi 20 mai 2019 Statut Membre Dernière intervention 20 mai 2019 - 20 mai 2019 à 09:34
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
A voir également:

2 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
20 mai 2019 à 09:52
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
1
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
Très bien, merci beaucoup pour cette réponse rapide !

Bonne journée !
0