Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/06/2011, 16h35   #1
Membre du Club
 
Avatar de Palsajicoco
 
Étudiant
Inscription : février 2007
Messages : 229
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 229
Points : 50
Points : 50
Envoyer un message via MSN à Palsajicoco Envoyer un message via Yahoo à Palsajicoco Envoyer un message via Skype™ à Palsajicoco
Par défaut Requete SQL par Day

Salut,

J'ai besoin de faire des requêtes SQL selon mon time stamp dans la table, je devrai faire un max, min, avg pour les valeurs dans la table pour chaque jours. J'aimerai bien faire ca tout qvec SQL pour une meilleure optimisation mais je trouve toujours pas la requête exacte. En gros, j'ai fait group by day mais pour chaque day, j'ai des traitements de max, min ... a faire. Voici le code que j'ai essayé:

Code :
1
2
3
4
5
6
7
8
9
10
SELECT 
	ethernetPerformance_id,
	DATE_FORMAT(ep.collectionDate, '%m/%d/%Y %H:%i:%s') AS collectionDate,
	ROUND(MAX(ep.throughPut),2) AS maxTP, 
	ROUND(MIN(ep.throughPut),2) AS minTP, 
	ROUND(AVG(ep.throughPut) ,2) AS avgTP
FROM  
	ethernetPerformance ep
GROUP BY 
	ep.ethernetPerformance_id, YEAR(ep.collectionDate), MONTH(ep.collectionDate), DAY(ep.collectionDate);
Il me rend tous les jours avec des valeurs similaire, donc pas de min max et avg pour chaque date. J’espère avoir une solution. Merci.
Palsajicoco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 17h18   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 007
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 007
Points : 18 275
Points : 18 275
Envoyer un message via MSN à CinePhil
Pourquoi regroupes-tu par année, mois, jour alors que tu veux le résultat simplement par jour ?
Code :
1
2
3
4
5
6
7
8
9
10
SELECT 
    ep.ethernetPerformance_id,
    DATE_FORMAT(ep.collectionDate, '%m/%d/%Y') AS collectionDate,
    ROUND(MAX(ep.throughPut),2) AS maxTP, 
    ROUND(MIN(ep.throughPut),2) AS minTP, 
    ROUND(AVG(ep.throughPut) ,2) AS avgTP
FROM  
    ethernetPerformance ep
GROUP BY 
    ep.ethernetPerformance_id, DATE_FORMAT(ep.collectionDate, '%Y-%m-%d')
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 17h19   #3
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 530
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 530
Points : 3 523
Points : 3 523
Saluton,
Pourquoi ne pas essayer
Code sql :
GROUP BY  ep.ethernetPerformance_id, DATE_FORMAT(ep.collectionDate, '%Y/%m/%d')
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
articles : Comment émuler un tableau croisé [quasi] dynamique
et : Une énigme mathématique résolue avec MySQL
recommande l'utilisation de PDO (PHP5 Data Objects)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 17h21   #4
Membre du Club
 
Avatar de Palsajicoco
 
Étudiant
Inscription : février 2007
Messages : 229
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 229
Points : 50
Points : 50
Envoyer un message via MSN à Palsajicoco Envoyer un message via Yahoo à Palsajicoco Envoyer un message via Skype™ à Palsajicoco
Ok Merci et tant mieux. De cette façon il fera les min max et avg pour chaque jour?
Palsajicoco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 20h24   #5
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 530
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 530
Points : 3 523
Points : 3 523
Le mieux serait d'essayer, non ?
mais normalement le GROUP BY devrait donner pour chaque ep.ethernetPerformance_id, les statistiques pour chaque jour.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
articles : Comment émuler un tableau croisé [quasi] dynamique
et : Une énigme mathématique résolue avec MySQL
recommande l'utilisation de PDO (PHP5 Data Objects)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h15.


 
 
 
 
Partenaires

Hébergement Web