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 :

Count de Count


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Par défaut Count de Count
    Bonjour, tout d'abord, je vous donne un apperçu de ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    select count(adl.adl_nom)
    from opa_adl adl , opa_type_ads tads, opa_ads ads, opa_ulm ulm
     
    where bat_id=5
    and adl.adl_id = ads.adl_id
    and tads.tas_id = ads.tas_id
    and adl.adl_id=ulm.adl_id
    and tas_haut_utile > 1800
    and convert(char(8),ulm_dh_sortie,112) is NULL
    and ulm.ulm_haut<=1200
     
    group by adl.adl_nom
    Celle-ci va me renvoyer un grand tableau de 3600 lignes sur une colonne ou il n'y aura que des 1 ou des 2, ce que je voudrais faire, c'est faire le compte des 1 et le compte des 2... est ce que vous auriez une chtiote idée

    Merci d'avance

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 143
    Par défaut
    Il suffit d'en rajouter une couche !
    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
    SELECT  tot.nb
        ,   COUNT(*)
    FROM    
        (   SELECT  COUNT(*)    AS nb
            FROM    opa_adl     AS adl
                INNER JOIN 
                    opa_ads     AS ads
                    ON  adl.adl_id = ads.adl_id
                INNER JOIN 
                    opa_type_ads AS tads
                    ON  tads.tas_id = ads.tas_id
                INNER JOIN 
                    opa_ulm     AS ulm
                    ON  adl.adl_id = ulm.adl_id
            WHERE   bat_id = 5
                AND tas_haut_utile > 1800
                AND convert(char(8),ulm_dh_sortie,112) IS NULL
                AND ulm.ulm_haut <= 1200
            GROUP BY adl.adl_nom
        )   AS tot
    GROUP BY tot.nb
    ;
    PS : Avec des jointures normalisées, la requête est bien plus jolie
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    Autant pour moi, j'avais mal lu l'énoncé du problème.
    je plussois donc al1_24 sur sa solution

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Par défaut
    Merci beaucoup, j'ai encore un chti souci, c'est quand je lance la requête il me dit "incorrect syntax near Keyword Select"

  5. #5
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    Post ta requete (si elle ne fait pas 2000000 lignes)

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Par défaut
    C'est celle du dessus faite par Al1

Discussions similaires

  1. count et count (colonne)
    Par zin_rbt dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/03/2010, 21h22
  2. select count> select count
    Par supernicoco dans le forum Langage SQL
    Réponses: 3
    Dernier message: 15/10/2009, 09h17
  3. optimisation count(*) vs count(champs)
    Par oadin dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/03/2008, 10h04
  4. différence entre count(*) et count(1)
    Par dylane.sof dans le forum SQL
    Réponses: 7
    Dernier message: 04/10/2007, 21h04
  5. Requete SELECT Count(x)/Count(y)
    Par ahage4x4 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 21/06/2006, 15h26

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