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 :

Information récupérée avec COUNT


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut Information récupérée avec COUNT
    Bonjour

    Je parcours http://cyberzoide.developpez.com/php4/mysql/ . J'arrive sur les instructions suivantes dont l'explication me pose un problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT(*) FROM client
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT produit.nom, SUM(vente.qt * produit.prix) AS total 
    FROM produit, vente 
    WHERE produit.id = vente.produit_idx 
    GROUP BY produit.nom 
    ORDER BY total
    Elles font quoi ces instructions ? Et pourquoi ?
    D'après l'explication, je ne comprends l'utilité des count et sum.
    Un petit test sur ma base de données semble m'indiquer que le premier commentaire serait faux !
    J'aimerai avoir votre avis avant d'embêter l'auteur.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 291
    Par défaut
    La première requête te donne le nombre total de clients.
    La seconde te donne le CA (prix * quantité) par produit.

  3. #3
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Bonjour

    C'est bien c qu'il me semblait

    Voici ce qui est écrit à la première ( http://cyberzoide.developpez.com/php4/mysql/ page 72 ) :
    Affichage de tous les clients
    Pour la seconde, c'est
    Classement des produits par la valeur totale vendue
    Mais, je n'ai pas compris à quoi peuvent bien servir les deux dernières lignes de la commande pour obtenir ce CA ! Ils correspondent bien au commentaire si on oublie la début.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  4. #4
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT DISTINCT produit.nom, SUM(vente.qt * produit.prix) AS total 
    FROM produit, vente 
    WHERE produit.id = vente.produit_idx 
    GROUP BY produit.nom 
    ORDER BY total
    Dans cette commande, le GROUP BY est obligatoire pour utiliser la fonction SUM. En effet tu dois spécifié sur quel colonne s'effectue la somme et dans le cas présent tu veux additionner tous les produits ayant le même nom.
    De plus le ORDER BY te permet de trier le résultat selon un certain critère à savoir le total que rapporte chaque produit via l'alias total.

    Pour plus d'infos sur ces deux fonctions je te conseille de consulter la doc sur le site de MySQL.

  5. #5
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Donc à la fin, on obtient quoi ?
    le CA ou un tableau ?

    Je crois que la doc MySQL sera ma prochaine lecture !
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  6. #6
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut
    Tu obients un tableau formé de deux colonnes :
    . le nom du produit
    . le CA

    Les lignes du tableau seront ordonnées de manière croissante grâce au ORDER BY.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/12/2012, 16h02
  2. Réponses: 0
    Dernier message: 10/05/2010, 01h16
  3. [CR] incrementer avec count dans deux etat lieés
    Par souad26 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 08/11/2004, 17h18
  4. Query sur plusieurs colonnes avec count(distinct...)
    Par Jeankiki dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/08/2004, 15h22
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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