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 régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 120
    Points : 124
    Points
    124
    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 actif
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 194
    Points : 220
    Points
    220
    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 régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

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

  4. #4
    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
    Points : 2
    Points
    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
    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
    Points : 2
    Points
    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 régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 120
    Points : 124
    Points
    124
    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