Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3408 connectés 

 


Dernière réponse
Sujet : [SQL] Merci de m'aider à faire cette requete... facile pour un pro ;)
Jesus Army Un GRAND merci à TOUS pour vos réponses !
 
J'y ai trouvé mon bonheur... ;)
 
Et merci d'avoir expliqué, c'est super sympa !!!

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Jesus Army Un GRAND merci à TOUS pour vos réponses !
 
J'y ai trouvé mon bonheur... ;)
 
Et merci d'avoir expliqué, c'est super sympa !!!
Fred999 Euh les gars j'ai édité, ça devrait être plus compréhensible.
jupiler je te le concède, c'est pas très clair
wouatouwouatou Ben je croyais ke c t sur une cellule kil voulais les moyennes ?
Bien sur par cellule et par mois d'année aussi :D
jupiler ben il a expliqué que ce qui est en italique
permet de filtrer sur l'année
 
Pourquoi un where sur codecellule?
wouatouwouatou FRED999 > Euh.. datepart() c pas un truc de sql server ?
Sinon, pourquoi tu recupere aussi l'année ?
Pis manque pas un truc là ?  
D'après ce ke jai compris.. le where porte sur CodeCellule et pas sur l'année uniquement...

 

[edit]--Message édité par wouatouwouatou--[/edit]

Fred999 Aloreuh...
 

Code :
  1. select   #CodeCellule,
  2.          datepart(yy, #date),
  3.          datepart(mm, #date),
  4.          avg(trg)
  5. from
  6.          TRG
  7. where
  8.          datepart(yy, #date) = 2001
  9. group by
  10.          #CodeCellule,
  11.          datepart(yy, #date),
  12.          datepart(mm, #date)


 
Cette requête te donne la valeur moyenne de trg pour tous les mois par cellule.
 
Attention, si tu as des données de plusieurs années dans ta table, il te faut rajouter les lignes en italique dans la requête, pour n'avoir qu'une année (ici, 2001).
 
Bien évidemment, c'est la version Sybase, pour passer sous Oracle, voir le post de Jupiler.
 
EDIT : si tu veux toutes les années et tous les mois, tu prends toutes les lignes en italique et pas celles en gras.
 
Si tu ne veux qu'une année, tu ne prends que les lignes en gras et pas celles en italique.
 
En plus de la requête "de base" évidemment.

 

[edit]--Message édité par Fred999--[/edit]

jupiler sous Oracle, ca donnerait un truc pareil:
 
select to_date(to_char(date,'mmyyyy'), 'mmyyyy'), avg(trg)
group by to_date(to_char(date,'mmyyyy'), 'mmyyyy')
 
 
le to_date(to_char... permet de ramener la date au mois près.
 
A toi de trouver l'équivalent dans ton SGBD
irulan C'est quoi ton SGBD ?
noliv je ne suis pas sur de la syntaxe d'un 'inferieur ou egal'... je les ai mis comme en C...
pour les données variables, j'ai écrit ca comme en php... les $truc sont des variables...
 
pour chaque mois, tu fais:
 
select trg from TRG where #date <= '$mois-31-$year' AND #date >= '$mois-01-$year' AND #CodeCellule = '$codecellule';
 
tu fais la moyenne des resultats de la requete...
Jesus Army Voila, donc j'ai une table
TRG(#CodeCellule,#date,#CodeEquipe,#ReferencePiece,trg) sachant que le TRG est une valeur numerique...
 
J'aimerais avoir les 12 valeurs annuelles moyennes du TRG pour une cellule mais toutes pièces et equipes confondues....
C'est pour faire un graph de l'evolution annuelle de cette valeur, avec donc une valeur/mois.
 
Ca doit pas etre si compliqué, mais je ne sais pas trop comment faire :(
 
MERCI à ce qui trouvent ! ;)

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)