- Sélection d'un relevé du mois précédent [MySQL] - SQL/NoSQL - Programmation
Marsh Posté le 26-05-2019 à 12:05:16
Le temps de poster la question et j'ai trouvé quelque chose qui marche mais j'ai un doute sur le fait que ça soit une solution "idéale":
Code :
|
Si je ne précise pas de LIMIT dans ma requête imbriquée j'ai une erreur de cardinalité, le résultat me renvoyant plus d'une ligne et ça je ne comprends pas pourquoi car pour moi je lui demande juste le releve du mois précédent.
Bref, si vous avez quelque chose de plus propre je suis preneur...
Merci!
Marsh Posté le 30-05-2019 à 10:05:46
Tu peux faire un truc similaire mais en mettant 2 fois la table releves dans le FROM (donc pas besoin de sous-requête).
SELECT ce1.date, ce1.releve, ce2.releve AS Previous FROM releves ce1 INNER JOIN releves ce2 ON (MONTH(ce2.date) = MONTH(ce1.date - INTERVAL 1 MONTH)) WHERE YEAR(ce1.date)=:annee
ORDER BY
ce1.date
Marsh Posté le 02-06-2019 à 17:02:12
Bonjour,
En effet, je trouve ça plus propre comme méthode, pas pensé à ça.
Merci!
Marsh Posté le 26-05-2019 à 11:58:35
Bonjour,
J'ai une table "releves" avec ceci comme champs:
- id (int)
- date (date)
- releves (float)
J'ai un relevé par mois.
Je souhaiterais récupéré comme résultats la liste des relevés pour une année demandée, et pour chacun en plus le relevé du mois précédent.
Exemple de résultats:
janvier 2018 - 230 - 225 (225 correspondant au relevé du mois de décembre 2017)
Février 2018 - 236 - 230
Mars 2018 - 241 - 236
Etc...
Ma requête actuelle:
Le "previous" est toujours à null. Purquoi pas, mais je ne parviens pas à trouver la solution...
Merci!