45 votes

Travailler avec INTERVAL et CURDATE dans MySQL

Je suis en train de construire un graphique et je veux recevoir des données pour chaque mois.

Voici ma première demande qui fonctionne :

SELECT s.GSP_nom AS nom, timestamp, AVG( v.vote +  v.prix  ) /2 AS avg
FROM votes_serveur AS v
INNER JOIN serveur AS s ON v.idServ = s.idServ
WHERE s.valide =1
AND v.date > CURDATE() -30
GROUP BY s.GSP_nom
ORDER BY avg DESC

Mais, dans mon cas, je dois écrire 12 demandes pour recevoir les données des 12 mois précédents, y a-t-il une astuce pour éviter d'écrire :

//  example for the previous month
 AND v.date > CURDATE() -60
AND v.date < CURDATE () -30

J'ai entendu parler d'INTERVAL, je suis allé voir la doc MySQL mais je n'ai pas réussi à l'implémenter.

Un exemple d'utilisation d'INTERVALLE ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X