Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 15/12/2012, 17h57   #1
Coussati
Débutant
 
Inscription : juillet 2003
Messages : 626
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 626
Points : 180
Points : 180
Envoyer un message via MSN à Coussati
Par défaut aide requête sql

salut

j'ai besoin d'aide sur une requête sql

j'ai une table "victoire" avec les chants : id_victoire, pseudo_victoire, time_victoire

à chaque victoire une ligne est ajouté avec le pseudo du membre

je veux afficher les membres qui ont 15 victoires minimum, par ordre du plus grand nombre de victoire (et aussi afficher le nbr)

comment puis je faire ? je sais qu'il faut faire un count, mais je ne suis pas très doué :/

merci d'avance
Coussati est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2012, 18h03   #2
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 490
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 490
Points : 21 313
Points : 21 313
Code sql :
SELECT COUNT(*), pseudo_victoire FROM ta_table GROUP BY pseudo_victoire HAVING COUNT(*) > 14
sabotage est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2012, 19h24   #3
Bovino
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 18 115
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 42
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 18 115
Points : 64 695
Points : 64 695
[HS]
Citation:
j'ai une table "victoire" avec les chants : id_victoire, pseudo_victoire, time_victoire
C'est pour déterminer qui va gagner la Star Ac ?
[/HS]
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/12/2012, 13h34   #4
Exia93
Membre Expert
 
Homme
Étudiant
Inscription : avril 2012
Messages : 609
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2012
Messages : 609
Points : 1 064
Points : 1 064
Citation:
Envoyé par sabotage Voir le message
Code sql :
SELECT COUNT(*), pseudo_victoire FROM ta_table GROUP BY pseudo_victoire HAVING COUNT(*) > 14
Bonjour,

Code :
SELECT COUNT(*), pseudo_victoire FROM ta_table GROUP BY pseudo_victoire HAVING COUNT(*) > 14 ORDER BY 1 DESC
pour ajouter le trie décroissant.
Exia93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 17h27   #5
Coussati
Débutant
 
Inscription : juillet 2003
Messages : 626
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 626
Points : 180
Points : 180
Envoyer un message via MSN à Coussati
merci sabotage nikel

Bovino non lol mais presque ^^

Exia93 merci à toi, c'était ma prochaine question :p

j'ai essayé de faire :

Code :
SELECT COUNT(*) AS nbr, pseudo_victoire FROM ta_table GROUP BY nbr HAVING COUNT(*) > 14
et

Code :
SELECT COUNT(*), pseudo_victoire FROM victoire GROUP BY count(*) HAVING COUNT(*) > 14
mais ça ne fonctionnait pas (normal ce n'est pas comme tu as fais lol)

une dernière chose svp : j'aimerais maintenant utiliser les donner dans ma page php comment récupérer les 2 réponses ? nbr_victoire et pseudo ?

je suppose que pour le pseudo dans l'array j'aurai à mettre ['pseudo_victoire'] mais pour le nbr de victoire ce sera ['COUNT(*)'] ?

je pose la question parce que ma page n'est pas encore prête pour tester
Coussati est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 17h37   #6
cryborg
Invité régulier
 
Homme
Inscription : mai 2006
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France, Seine et Marne (Île de France)

Informations forums :
Inscription : mai 2006
Messages : 18
Points : 6
Points : 6
Citation:
Envoyé par Coussati Voir le message
une dernière chose svp : j'aimerais maintenant utiliser les donner dans ma page php comment récupérer les 2 réponses ? nbr_victoire et pseudo ?

je suppose que pour le pseudo dans l'array j'aurai à mettre ['pseudo_victoire'] mais pour le nbr de victoire ce sera ['COUNT(*)'] ?

je pose la question parce que ma page n'est pas encore prête pour tester
Non pour cela tu vas devoir utiliser un alias :
Code :
SELECT COUNT(*) AS nbr_victoires, pseudo_victoire FROM ta_table GROUP BY pseudo_victoire HAVING COUNT(*) > 14
Ce qui fait qu'en PHP tu peux récupérer la variable nbr_victoires.
cryborg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2012, 09h03   #7
Exia93
Membre Expert
 
Homme
Étudiant
Inscription : avril 2012
Messages : 609
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2012
Messages : 609
Points : 1 064
Points : 1 064
Citation:
Envoyé par Coussati Voir le message
j'ai essayé de faire :

SELECT COUNT(*) as nbr, pseudo_victoire FROM ta_table GROUP BY nbr HAVING COUNT(*) > 14

et

SELECT COUNT(*), pseudo_victoire FROM victoire GROUP BY count(*) HAVING COUNT(*) > 14

mais ça ne fonctionnait pas (normal ce n'est pas comme tu as fais lol)
Bonjour,

tes requêtes ne fonctionnes pas car tu utilise mal la fonction GROUP BY,

elle sert à regrouper plusieurs lignes ayant la même valeur et de pouvoir utiliser des fonctions d'agrégat sur ce regroupement ( dans ton cas compter le nombre d'occurence pour chaque utilisateur différent mais tu pourrait vouloir faire une somme ou une moyenne).

Dans ta requête tu essaye de faire un regroupement sur un comptage de toutes tes lignes.
Exia93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2012, 05h29   #8
Coussati
Débutant
 
Inscription : juillet 2003
Messages : 626
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 626
Points : 180
Points : 180
Envoyer un message via MSN à Coussati
merci à vous tous, je pense avoir compris

résolu
Coussati est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h57.


 
 
 
 
Partenaires

Hébergement Web