Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Débutant
    Inscrit en
    juillet 2003
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : juillet 2003
    Messages : 679
    Points : 215
    Points
    215

    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

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro Vincent
    Inscrit en
    juillet 2005
    Messages
    21 221
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 221
    Points : 30 918
    Points
    30 918

    Par défaut

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

  3. #3
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 196
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : juin 2008
    Messages : 22 196
    Points : 86 252
    Points
    86 252
    Billets dans le blog
    3

    Par défaut

    [HS]
    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 !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 764
    Points : 1 374
    Points
    1 374

    Par défaut

    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.

  5. #5
    Débutant
    Inscrit en
    juillet 2003
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : juillet 2003
    Messages : 679
    Points : 215
    Points
    215

    Par défaut

    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

  6. #6
    Invité régulier
    Homme Profil pro
    Inscrit en
    mai 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : mai 2006
    Messages : 18
    Points : 6
    Points
    6

    Par défaut

    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.

  7. #7
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 764
    Points : 1 374
    Points
    1 374

    Par défaut

    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.

  8. #8
    Débutant
    Inscrit en
    juillet 2003
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : juillet 2003
    Messages : 679
    Points : 215
    Points
    215

    Par défaut

    merci à vous tous, je pense avoir compris

    résolu

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •