SQL - requête sur les 15 derniers jours
Résolu
Furasque
Messages postés
38
Date d'inscription
Statut
Membre
Dernière intervention
-
Furasque Messages postés 38 Date d'inscription Statut Membre Dernière intervention -
Furasque Messages postés 38 Date d'inscription Statut Membre Dernière intervention -
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 :
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
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
A voir également:
- SQL - requête sur les 15 derniers jours
- Compte facebook suspendu 180 jours - Guide
- Macos 15 - Accueil - MacOS
- Compte instagram suspendu 180 jours - Guide
- Nombre de jours entre deux dates excel - Guide
- Android 15 - Accueil - Android
4 réponses
Bonjour Furasque,
Je pense que ton ordre sql devrait être le suivant:
A plus
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
Bonjour,
Peut-être pouvez-vous utiliser ceci en adaptant de peu
SELECT SUBDATE('1998-01-02', INTERVAL 31 DAY);
Peut-être pouvez-vous utiliser ceci en adaptant de peu
SELECT SUBDATE('1998-01-02', INTERVAL 31 DAY);