IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

DISTINCT + COUNT dans la même requête, possible ?


Sujet :

Requêtes MySQL

  1. #1
    Invité
    Invité(e)
    Par défaut DISTINCT + COUNT dans la même requête, possible ?
    Bonjour,

    Je sèche un peu sur une requête, voici ce que j'ai actuellement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCT name,img
    FROM Rg_gifts,Rg_gifts_ordered
    WHERE Rg_gifts.id_gift=Rg_gifts_ordered.id_gift
    ORDER BY price DESC LIMIT 0,50
    Ce qui me permet de sortir les 50 articles les plus cher de ma table
    Rg_gifts contient les articles et Rg_gifts_ordered contient les commandes

    Ce que je voudrais, c'est pouvoir afficher pour chaque article, le nombre
    de fois où il a été commandé. Mais je n'arrive pas à utiliser le DISTINCT et un
    COUNT dans la même requête

    Quelqu'un aurait-il une idée ?
    Dernière modification par ced ; 01/04/2008 à 11h44. Motif: Utilisation du bouton "Résolu"

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Bonjour,

    Il te faut forcément passer par une sous-requête. Il faut donc que ta version de MySQL soit au moins 4.1.
    La requête suivante devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT distinct g.name, g.img, go2.nb
    FROM Rg_gifts g
    INNER JOIN Rg_gifts_ordered go ON g.id_gift = go.id_gift
    INNER JOIN (
      SELECT id_gift, COUNT(*) AS nb
      FROM Rg_gifts_ordered
      GROUP BY id_gift
    ) AS go2 ON g.id_gift = go2.id_gift
    ORDER BY price DESC LIMIT 0,50
    ced

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour ced,

    Eh bien, merci beaucoup, je pense que j'aurais eu du mal à trouver ça tout seul. Ta requête fonctionne parfaitement.

    Encore merci, bonne journée

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

Discussions similaires

  1. Retourner premiere ligne et count dans la même requête
    Par youtpout978 dans le forum Développement
    Réponses: 7
    Dernier message: 03/06/2015, 17h44
  2. Plusieurs count() dans une même requête
    Par DarkaMaul dans le forum Requêtes
    Réponses: 4
    Dernier message: 23/11/2009, 17h20
  3. Réponses: 9
    Dernier message: 19/04/2009, 15h45
  4. faire plusieur count dans une même requète
    Par bossLINDROS dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 28/04/2008, 10h04
  5. count + insert into = dans la même requête
    Par fatima ezzahra dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/04/2008, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo