VIVEZ LE
FOOTBALL !

Posez votre question Signaler

SQL - requête sur les 15 derniers jours [Résolu]

Furasque 38Messages postés 4 février 2009Date d'inscription - Dernière réponse le 7 mai 2009 à 18:23
Bonjour,
J'utilise une BD SQL.
J'aimerai retourner les résultats d'une requête pour les 15 derniers jours :
Je précise :
j'ai un champ "date" au format suivant : jj/mm/aaaa hh:mm:ss
Le résultat important est la moyenne du champ "attribute" par jour.
ce que je faisais jusqu'alors :
SELECT DATEPART(year, date), DATEPART(month, date), DATEPART(day, date), itemName, AVG(attribute)
FROM ma_table
WHERE (attribute LIKE 'xxx%')
AND (MONTH(itemDate) = MONTH(GETDATE()))
AND (YEAR(itemDate) = YEAR(GETDATE()))
AND (DAY(itemDate) BETWEEN DAY(GETDATE() - 15) AND DAY(GETDATE()))
AND (itemName = 'x.x.x.x')
GROUP BY itemName, DATEPART(year, date), DATEPART(month, date), DATEPART(day, date)

Sauf que : si nous sommes le 6 du mois, à cause du MONTH(GETDATE()), sql ne me retournera aucun résultat.
Or je voudrais afficher les résultats pour les 6 derniers jours du mois n et les 9 précédents du mois n-1 (donc des 15 derniers jours).
La tête dans le guidon, je sèche. Je n'ai plus d'idée pour tenter de remédier à ce problème!
J'espère que vous pourrez m'aider, par avance merci.
Furasque
Lire la suite 

SQL - requête sur les 15 derniers jours »

4 réponses
Réponse
+0
moins plus
Bonjour,

Peut-être pouvez-vous utiliser ceci en adaptant de peu

SELECT SUBDATE('1998-01-02', INTERVAL 31 DAY);
Ajouter un commentaire
Réponse
+0
moins plus
Merci de votre réponse!
Cependant ça n'a pas l'air de fonctionner sous SQL server
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour Furasque,

Je pense que ton ordre sql devrait être le suivant:
SELECT DATEPART(year, date), DATEPART(month, date), DATEPART(day, date), itemName, AVG(attribute)
FROM ma_table
WHERE (attribute LIKE 'xxx%')
AND itemDate between GETDATE() - 15 and GETDATE()
AND (itemName = 'x.x.x.x')
GROUP BY itemName, DATEPART(year, date), DATEPART(month, date), DATEPART(day, date)


A plus
Ajouter un commentaire
Réponse
+0
moins plus
Christounet,
je pensais que le format de ma date empêcherait cela mais non!
Ca fonctionne, merci bcp!
Ajouter un commentaire
Ce document intitulé « SQL - requête sur les 15 derniers jours » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?