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

PHP & Base de données Discussion :

[SQL] calcul pour chaque catégorie le nombre d'entités


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 127
    Par défaut [SQL] calcul pour chaque catégorie le nombre d'entités
    Bonjour,
    J'ai 3 tables dans ma base de données: "categorie", "activite", "entite", que je vous les joint.
    Je veux savoir le nombre d'(entite) dans chaque (categorie).
    Au début j'avais une idée de créer 3 requêtes SQL et faire des boucles (while) mais ça ne va pas. est ce qu'il y a une fonction prédéfinie en php me permet de faire ce calcule sans utiliser 3 requêtes?
    Comment faire ça?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    CREATE TABLE `categorie` (
      `code_categorie` int(11) NOT NULL auto_increment,
      `libelle_categorie` varchar(50) NOT NULL,
      PRIMARY KEY  (`code_categorie`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
     
    CREATE TABLE `activite` (
      `code_activite` int(11) NOT NULL auto_increment,
      `libelle_activite` varchar(50) NOT NULL,
      `code_categorie` int(11) NOT NULL,
      `icone_activite` varchar(50) NOT NULL,
      PRIMARY KEY  (`code_activite`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=61 ;
     
     
    CREATE TABLE `entite` (
      `code_entite` int(11) NOT NULL auto_increment,
      `nom_entite` varchar(50) NOT NULL,
      `description_entite` varchar(2500) NOT NULL,
      `adresse_entite` int(11) NOT NULL,
      `bp` int(11) NOT NULL,
      `code_postal` int(11) NOT NULL,
      `url_entite` varchar(50) NOT NULL,
      `tel_entite` int(11) NOT NULL,
      `mail_entite` varchar(50) NOT NULL,
      `fax_entite` int(11) NOT NULL,
      `code_activite` int(11) NOT NULL,
      `lat` decimal(10,6) NOT NULL,
      `lng` decimal(10,6) NOT NULL,
      `image` varchar(50) NOT NULL,
      PRIMARY KEY  (`code_entite`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=21 ;
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT count(code_entite) as nb_entite,code_categorie 
    FROM activite,entite
    WHERE entite.code_activite = activite.code_activite
    GROUP BY code_categorie
    ORDER BY nb_entite DESC
    Renseigne toi sur le group by qui est la notion (je pense) qu'il te manque pour avoir ce que tu veut.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 127
    Par défaut
    Merci bcp,
    c exactement ce que j'ai voulu.
    Merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/04/2012, 18h18
  2. [AC-2007] Calculs pour chaque enregistrements de requetes
    Par Wanaka dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 25/02/2011, 21h54
  3. [CS3] mettre pub pour chaque catégorie
    Par doudou01 dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 21/09/2009, 09h45
  4. position médiane pour chaque catégorie
    Par freestyler dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 26/06/2008, 16h36
  5. [SQL]Somme pour chaque colonne de requete analyse
    Par Kekou03 dans le forum Access
    Réponses: 2
    Dernier message: 12/03/2005, 03h34

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