Requête de Max

Résolu/Fermé
amitaf006 Messages postés 84 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 22 décembre 2011 - 13 août 2010 à 13:37
amitaf006 Messages postés 84 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 22 décembre 2011 - 16 août 2010 à 11:22
Bonjour,
Je travaille sur access j'ai une table tb1:

ID_tb1 Nom_site Annee Mois P PH PM
1 S1 2009 Janvier 12 56 100
2 S1 2009 Février 25 90 20

Je voudrais faire une requête pour récupéreé le max de P , PH, PM de l'année x
dans l'exemple je voudrais avoir une requête qui me donne comme résultat:
Nom_site Annee P PH PM
S1 2009 25 90 100

Je voudrais savoir s'il est possible ce que je souhaiterai faire et comment je pourrai le faire.

Merci pour votre aide.

2 réponses

HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 608
Modifié par HostOfSeraphim le 13/08/2010 à 14:43
Hop :

MariaDB [test]> select * from t7;  
+--------+----------+-------+-----------+------+------+------+  
| ID_tb1 | Nom_site | Annee | Mois      | P    | PH   | PM   |  
+--------+----------+-------+-----------+------+------+------+  
|      1 | S1       |  2009 | Janvier   |   12 |   56 |  100 |  
|      2 | S1       |  2009 | Février  |   25 |   90 |   20 |  
|      3 | S2       |  2010 | Décembre |   28 |   60 |  120 |  
+--------+----------+-------+-----------+------+------+------+  
3 rows in set (0.00 sec)  


MariaDB [test]> select Nom_site, Annee, Mois, max(P), max(PH), max(pm) from t7 where Annee=2009; 
+----------+-------+---------+--------+---------+---------+ 
| Nom_site | Annee | Mois    | max(P) | max(PH) | max(pm) | 
+----------+-------+---------+--------+---------+---------+ 
| S1       |  2009 | Janvier |     25 |      90 |     100 | 
+----------+-------+---------+--------+---------+---------+ 
1 row in set (0.00 sec) 




Configuration : Fedora 13 virtualisé sur machine hôte CentOS 5.5 (via VirtualBox)
0
amitaf006 Messages postés 84 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 22 décembre 2011 2
13 août 2010 à 15:12
Bonjour HostOfSeraphim,
Merci pour ta réponse, je travaille sous access 2000 et j ai ecris ta requête mais j ai pas obtenu le résultat souhaité.
Merci d'avance.
0
HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 608
13 août 2010 à 15:15
Je n'ai pas Access pour tester correctement, mais qu'est-ce que tu as à la place ?
0
amitaf006 Messages postés 84 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 22 décembre 2011 2
13 août 2010 à 15:23
j ai un message d'erreur (Vous avez essayé d'exucuter une requête ne comprenant pas l'expression spécifiée Nom_sitecommen une partie de la fonction d'agrégat) J ai résolu le problème j ai ajouté GROUP BY Nom_site, annee, mois;
mais j ai obtenu :
Nom_site Annee Mois P PH PM Expr1 Expr2 Expr3
S1 2009 Janvier 12 56 100 12 56 100
S1 2009 Février 25 90 20 25 90 20.
Merci.
0
paglop !!! Messages postés 635 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 3 novembre 2015 234
Modifié par paglop !!! le 15/08/2010 à 02:23
CHez moi ceci est accepté

SELECT tb1.Nom_site, Max(tb1.P) AS [Max De P], Max(tb1.PH) AS [Max De PH], Max(tb1.PM) AS [Max De PM]
FROM tb1        
WHERE (((tb1.Annee)=2009))        
GROUP BY tb1.Nom_site;        


POUR_CCM_amitaf006.mdb
0
amitaf006 Messages postés 84 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 22 décembre 2011 2
16 août 2010 à 11:22
Bonjour Paglop,

Merci pour ton aide ça marché .

merci beaucoup.
0