begin process at 2010 02 09 22:40:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

MySQL

 > 

Requêtes

 > 

Requete mysql un peu complexe !!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Requete mysql un peu complexe !!

mercredi 5 septembre 2007 à 15:14:27 | Requete mysql un peu complexe !!

wcherif

Bonjour, y a t il quelqu'un qui peux m'aider !!???
J'ai une table MySql qui contient des valeur prise à chaque jour (colonne date, et colonne valeur).
Je veux une requete qui me permet de :
faire la moyenne des  troix max d'une valeur pour chaque semaine.
c'est un peu urgent !!
Merci d'avance !
mercredi 5 septembre 2007 à 16:59:30 | Re : Requete mysql un peu complexe !!

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Il te faut faire une requête imbriquées je pense :

Select ... FROM (SELECT Max(Value) FROM TaTable WHERE TaDate Between ... )
______________________________________
DarK Sidious
mercredi 5 septembre 2007 à 21:25:04 | Re : Requete mysql un peu complexe !!

wcherif

C'est sûrqu'il y aura des requetes imbriquées, mais la question c'est quelles sont les requetes et comment les imbriqués pour avoir un tel résultat !!!
mercredi 5 septembre 2007 à 21:47:36 | Re : Requete mysql un peu complexe !!

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Ben comme je te l'ai dit : SELECT ... FROM (SELECT ... FROM)

Il te faut une première requête qui va te sélectionne les trois premières lignes de la table en question, triée par ordre décroissant avec une date comprise entre le premier jour de la semaine et le dernier, et à partir de cette requête, calculer la moyenne des valeurs voulues.
______________________________________
DarK Sidious
mercredi 5 septembre 2007 à 22:09:41 | Re : Requete mysql un peu complexe !!

wcherif

Ce que t'as proposé me donne la moyenne des trois max d'une seule semaine, alors que je veux avoir la moyenne des trois max de chaque semaine !!
jeudi 6 septembre 2007 à 07:05:47 | Re : Requete mysql un peu complexe !!

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Pour récupèrer pour chaque semaine je crois que tu n'a guère le choix : tu devra faire une boucle sur chaque semaine que tu veux afin d'exécuter la requête, à moins que tu sache faire une requêtes qui te renvoie les dates de chaque semaine...
______________________________________
DarK Sidious
jeudi 6 septembre 2007 à 11:52:02 | Re : Requete mysql un peu complexe !!

dominique.stock

Bonjour,
Voici une requête qui donne ce que tu souhaites mais sous MS SQL ...
A adapter (surtout le "top 3" je ne sais pas si cela existe sous mysql :

 select avg(id),semaine from (
 select id,datepart(dw,h.TEMPS) as semaine from
 histo_varchar h where id in ( select top 3 id from histo_varchar where datepart(dw,TEMPS)=datepart(dw,h.TEMPS) order by id desc)
 ) t group by semaine

Histo_varchar : ta table
id : tes valeurs
temps: ta date


Dom
jeudi 6 septembre 2007 à 11:54:47 | Re : Requete mysql un peu complexe !!

dominique.stock

oups à la place des "dw" mettre "wk" ...

Dom
vendredi 7 septembre 2007 à 00:38:40 | Re : Requete mysql un peu complexe !!

wcherif

Merci, est-ce que tu peux m'expliqué chaque partie de ta requete pour que je puisse la traduire en MySql;

pour la fct datepart(wk, date) : en MySql il ya la fonction YearWeek qui donne le numéro de la semaine à partir d'une date donnée en argument ;
pour la fontion TOP, il ya la fonction LIMIT en MySql , normalemnt c'est la meme chose;

et c'est quoi la variable "h " ??
et je crois que cette requete ne permet d'avoir que les resultats d'une seule semaine !! non ?
vendredi 7 septembre 2007 à 10:30:38 | Re : Requete mysql un peu complexe !!

dominique.stock

select avg(id),semaine from (
 select id,datepart(dw,h.TEMPS) as semaine from
 histo_varchar h where id in
( select top 3 id from histo_varchar where datepart(dw,TEMPS)=datepart(dw,h.TEMPS) order by id desc)
 ) t group by semaine

En faites h permet juste  de renommer la table histo_varchar afin que SQL (et l'utilisateur )  ne se mélange pas les pinceaux entre les requêtes imbriquées  ...

La bleue permet de sélectionner les 3 valeurs plus élevées d'une semaine
La rouge permet de les récupérer pour toutes les semaines de ta table
La verte fait la moyenne par semaine

Dom

1 2

Cette discussion est classée dans : mysql, valeur, requete, colonne, complexe


Répondre à ce message

Sujets en rapport avec ce message

pbm avec la connection [ par goueg83460 ] Bonjours, je trvaille sous builder et je lance des requete sur un serveur (mysql 5.0.18), il est administer par mysql administrator. Lorqu'a un moment [MySQL] IF EXISTS avec un SELECT ? [ par putch ] bonjour à tous !comme vous l'aurez compris, j'ai un souci de requete MySQLapres avoir chercher ici http://dev.mysql.com/doc/refman/5.0/f requete mysql [ par lafolle24320 ] Bonjour, J'ai une table transitions qui a les hcamps suivants : fmhz, aint, itag, eup il est possible que pour un itag il y es plusieurs fmhz égaux je Alias de colonne [ par Tofetlui ] bonjour,Voila mon soucis dans une requete je fais des alias sur des colonnes qui sont calculés.Jusqu'a là pas grand chose de grave.Cependant je dois  Requete INSERT [ par Frenzey ] Bonjour j'ai réalisé un script qui permet de parse un fichier xml et de transferer le contenu sur une Base de donnée grace à une requete INSERT. le pr pb avec requete mysql [ par gregfly26 ] bonjourje suis etudiant en bts info indus et mon projet bts comporte une section sql !J'ai une base de données 'surface' qui contient 2 tables : 'fabr AU SECOURS !!!!!!!!!!!!!!!!! Requete en MySQL [ par emma1006 ] Salut à tous,J'ai un petit souci pour une requete en MySQL. Ca doit pas être bien compliquémais moi je sais pas comment faire pour compacter ma demand Requete SQL complexe [ par Mindiell ] Bonjour,J'ai un probleme de requete :J'ai une table contenant une societe n°8 par exempleJ'ai une table de personnes : 1, 2, 3, 4, etc...J'ai une autr requete mySql en commande MsDos [ par DevDragon ] Hello everybodyJe suis en pleine galère car j'ai un beau scriptSQL qui me génére la totalité d'une base de donnée .Jusque là tout va bien. Le soucis é Requete avec Mysql [ par Rjoe ] Bonjour Il y'a une requete que je trouve bien difficile avec MySQL. si vous pouviez m'aidez Voivi la table en question: Commande(no_cde , no_ligne ,


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 13,088 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales