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

  FORUM HardWare.fr
  Programmation
  PHP

  [MySQL]HELP requete

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL]HELP requete

n°791854
BaDaBoOm
Posté le 09-07-2004 à 17:22:21  profilanswer
 

salut voila la requete que j'essais de faire :
 
SELECT pseudo, AVG(noteper) FROM mp3 WHERE noteper != 0 GROUP BY pseudo
 
cette requete fonctionne bien cependant serait il possible de spécifier dans la requete que j'ai uniquement besoin du pseudo correspondant à la plus grande valeur de AVG(noteper) ?
 
j'ai esayé  
SELECT pseudo, MAX( AVG(noteper)) FROM mp3 WHERE noteper != 0 GROUP BY pseudo
 
mais cela ne marche pas
 
merci pour vtre aide

mood
Publicité
Posté le 09-07-2004 à 17:22:21  profilanswer
 

n°791862
gooopil
pfiew
Posté le 09-07-2004 à 17:26:42  profilanswer
 

Y'a une catégorie SGBD, c'est plus approprié que php
 
Sinon je peux pas répondre à ta question ;)

n°791866
Xav_
The only one...
Posté le 09-07-2004 à 17:28:21  profilanswer
 

Au lieu de grouper par pseudo, tu groupe par AVG(notper) dans l'ordre décroissant (DESC).
Le premier résultat de ta requête sera celui avec AVG(notper) le plus grand.


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°791874
BaDaBoOm
Posté le 09-07-2004 à 17:31:52  profilanswer
 

g essayé ca :
 
SELECT pseudo, AVG( noteper )  
FROM mp3
WHERE noteper != 0
GROUP  BY AVG(noteper)
 
mais :#1111 - Utilisation invalide de la clause GROUP
 
 :(


Message édité par BaDaBoOm le 09-07-2004 à 17:32:11
n°791879
Xav_
The only one...
Posté le 09-07-2004 à 17:35:49  profilanswer
 

group ne doit pas être défini comme une "clé" de ta table, et tu ne peux ordonner des enregistrements qu'autour d'une clé.
Il faut que tu change la configuration de ta table.
Au lieu de ne défirnir que pseudo comme clé, tu défini aussi AVG(noteper).
ça devrait marcher après ...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°791889
BaDaBoOm
Posté le 09-07-2004 à 17:40:41  profilanswer
 

bon ben comme je sais pas comment faire ca je vais traiter le tableau en php
 
merci quand meme
 
a+

n°791893
Xav_
The only one...
Posté le 09-07-2004 à 17:44:10  profilanswer
 

ben si tu utilise PHPMyAdmin pour gérer ta base c'est tout simple, tu affiche les propiété de ta table et après c'est betement des cases à cocher pour définir la(les) clé(s)...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°791915
BaDaBoOm
Posté le 09-07-2004 à 17:51:31  profilanswer
 

g défini noteper en primary key je sais pas si c ca mais ca ne marche tjrs pas

n°791922
Xav_
The only one...
Posté le 09-07-2004 à 17:56:22  profilanswer
 

ben du coup je sèche aussi... :(


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°791965
BaDaBoOm
Posté le 09-07-2004 à 18:51:08  profilanswer
 

up

mood
Publicité
Posté le 09-07-2004 à 18:51:08  profilanswer
 

n°791990
gizmo
Posté le 09-07-2004 à 19:39:16  profilanswer
 

Xav_ a écrit :

group ne doit pas être défini comme une "clé" de ta table, et tu ne peux ordonner des enregistrements qu'autour d'une clé.
Il faut que tu change la configuration de ta table.
Au lieu de ne défirnir que pseudo comme clé, tu défini aussi AVG(noteper).
ça devrait marcher après ...


Qu'est-ce qu'il faut pas lire comme connerie :pfff:
 
La bonne réponse est
SELECT pseudo, AVG(noteper) FROM mp3 GROUP BY pseudo ORDER BY AVG(noteper) DESC LIMIT 1

n°792000
BaDaBoOm
Posté le 09-07-2004 à 19:50:03  profilanswer
 

ca ne marche tjrs pas , il me met cette erreur :
 
Utilisation invalide de la clause GROUP

n°792002
BaDaBoOm
Posté le 09-07-2004 à 19:50:57  profilanswer
 

SQL-query :  
 
SELECT pseudo, AVG( noteper )
FROM mp3
GROUP BY pseudo
ORDER BY AVG( noteper ) DESC
LIMIT 1
 
MySQL said:
 
#1111 - Utilisation invalide de la clause GROUP

n°792017
gizmo
Posté le 09-07-2004 à 20:04:38  profilanswer
 

BaDaBoOm a écrit :

SQL-query :  
 
SELECT pseudo, AVG( noteper )
FROM mp3
GROUP BY pseudo
ORDER BY AVG( noteper ) DESC
LIMIT 1
 
MySQL said:
 
#1111 - Utilisation invalide de la clause GROUP


 
Dans ce cas, jette MySQL. Avec n'importe quel autre DBMS, ça fonctionne (sauf la clause LIMIT)

n°792030
BaDaBoOm
Posté le 09-07-2004 à 20:15:51  profilanswer
 

je n'ai que mysql chez mon hebergeur

n°792056
Mara's dad
Yes I can !
Posté le 09-07-2004 à 20:43:35  profilanswer
 

gizmo a écrit :

Qu'est-ce qu'il faut pas lire comme connerie :pfff:


+1 :D
 

SELECT pseudo, AVG(noteper) as avg_noteper FROM mp3 GROUP BY pseudo ORDER BY avg_noteper DESC LIMIT 1


 
Testé et approuvé par Mara's dad (MySql 3.23.56)


Message édité par Mara's dad le 09-07-2004 à 20:44:02

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°792062
gizmo
Posté le 09-07-2004 à 20:48:42  profilanswer
 

Obligé de passer par un alias ?![:wam] Je le crois pas[:mlc] MySQL me décevra chaque jour un peu plus :/

n°792064
Mara's dad
Yes I can !
Posté le 09-07-2004 à 20:51:12  profilanswer
 

Ben en même temps, c'est quand même logique de pas recalculer le résultat de la fonction d'agrégation pour faire un tri dessus...
Sans parler de la réécrire :o


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°792065
Mara's dad
Yes I can !
Posté le 09-07-2004 à 20:53:45  profilanswer
 

Pis tu peux te passer de l'alias si tu veux :
 

SELECT pseudo, AVG(noteper) FROM mp3 GROUP BY pseudo ORDER BY 2 DESC LIMIT 1


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°792068
gizmo
Posté le 09-07-2004 à 20:55:59  profilanswer
 

Un DBMS correct n'as pas besoin d'alias pour voir qu'il s'agit de la même valeur et, par conséquence, ne pas la recalculer.

n°792071
Mara's dad
Yes I can !
Posté le 09-07-2004 à 20:58:02  profilanswer
 

Hey Ho l'untaigrisse, tu t'es re-laissé pousser la barbe au moins :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°792073
Mara's dad
Yes I can !
Posté le 09-07-2004 à 20:59:22  profilanswer
 

Py j'aime bien les alias !
 
Ca me gonfle un noms de colonne à "avg(machin_truc)" dans le résultat !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°792080
BaDaBoOm
Posté le 09-07-2004 à 21:05:06  profilanswer
 

nikel ca marche , je prends la 2eme solution de mara's dad !
 
merci encore

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [MySQL]HELP requete

 

Sujets relatifs
Connexion MySqlrequete sur date
[JDBC] Erreur de connexion MySQL ou de config ?[MySQL] Pb de requete [Resolu]
[MySql] Pb de requete complexemysql_fetch_array
[MySql] une requête qui fonctionne sur Access et pas sur mySql ! HELPpb requête MySQL Help !!!
MySQL + REQUETE DELETE AVEC IMBRICATION !!!! HELP !!!!!!!MySQL help pour trouver l'erreur de cette putain de requete
Plus de sujets relatifs à : [MySQL]HELP requete


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR