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

Langage SQL Discussion :

Utilisation de COUNT


Sujet :

Langage SQL

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 120
    Par défaut Utilisation de COUNT
    Bonjour,

    j'ai une table qui contient un attribut id.
    J'aurai voulu savoir si c'est possible en une seule requête, de connaitre combien de ligne à l'id = 0 et, en maintenant, le nombre de lignes pour les autres.

    Ex :
    1) id =0
    2) id =10
    3) id=0

    Et comme résultat sql, j'voudrai récupéré 2 (pour le nb de 0) et 1 (pour les !=0).

    Merci d'avance.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 194
    Par défaut
    si j'ai bien compris, tu veux récupérer le nombre de ligne dont id=0 et le nombre de ligne dont id!=0.
    je sais pas si c'est du sql standard mais sous postgres on peut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select sum (case when id = 0 then 1 else 0 end) as id_0,
             sum (case when id = 0 then 0 else 1 end) as id_autre
      from latable;

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 120
    Par défaut
    merci bien, c'est excatement ce que je cherchait à faire

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Par défaut Alternative
    Salut,

    En fait, si "CASE WHEN" n'est pas supporté par ton SGBDR, tu peux feinter en utilisant le code suivant:

    SELECT
    TABLE_1.EXPRESSION,
    Count(TABLE_1.EXPRESSION) AS CompteDeEXPRESSION
    FROM
    (SELECT Round(T.ID/((SELECT MAX(T.ID) FROM T)+1)+0.5) AS EXPRESSION FROM T) AS TABLE_1
    GROUP BY TABLE_1.EXPRESSION;

    L'idée ici est de transformer tous les id <> 0, en id=1 et c'est la formule Round(...) qui s'en charge. Le résultat de cette requête constitue la table (TABLE_1) sur laquelle on effectue un groupement! Et le tour est joué!

  5. #5
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Par défaut Autre alternative
    Resalut,

    Un peu plus simple:

    SELECT TOP 1
    (SELECT COUNT(*) FROM T WHERE ID=0) AS ID_0,
    (SELECT COUNT(*) FROM T WHERE ID<>0) AS ID_AUTRES
    FROM T;

    Si ton SGBDR le permet, tu peux même virer "TOP 1" et "FROM T;"

    A bientôt

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 120
    Par défaut
    merci, pour toutes ces solutions, la 1ère fonctionne bien avec SQLite.

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

Discussions similaires

  1. Utilisation de Count
    Par sis4v dans le forum Access
    Réponses: 2
    Dernier message: 22/02/2007, 11h59
  2. Utilisation de Count...grand débutant
    Par petitours dans le forum Access
    Réponses: 3
    Dernier message: 08/02/2006, 14h53
  3. utilisation de count(*) en condition
    Par clemsouz dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/09/2005, 14h32
  4. utilisation de count(*) en condition
    Par clemsouz dans le forum Langage SQL
    Réponses: 12
    Dernier message: 26/09/2005, 14h29
  5. [xsl]utilisation du count
    Par Grimaud dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 28/07/2005, 10h09

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