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

HyperFileSQL Discussion :

COUNT DISTINCT SPLIT_PART


Sujet :

HyperFileSQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 18
    Points : 13
    Points
    13
    Par défaut COUNT DISTINCT SPLIT_PART
    Bonsoir,

    j'utlise une requete windev qui ne fonctionne pas avec un distinct. ELle me retourne seulement NB_Famille = 1 par année.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT 
    COUNT(DISTINCT(SPLIT_PART(Presence.IDEnfant,':',1))) AS Nb_Famille,	
    LEFT(Presence.DateActivite,4) AS Année
    FROM 
    Presence
    GROUP BY 
    LEFT(Presence.DateActivite,4)
    ORDER BY
    LEFT(Presence.DateActivite,4)
    En retirant le distinct cela fonctionne.
    En SQL le distinct fonctionne mais j'utilise SUBSTRING_INDEX au lieu de SPLIT_PART.

    Auriez vous une idée ?
    Merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Consultant
    Inscrit en
    Octobre 2004
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 254
    Points : 608
    Points
    608
    Par défaut
    Merci de préciser quel SGBD tu utilises pour pouvoir t'aider.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Bonjour merci pour votre temps.

    J'utilise HYPERFILE de WINDEV.

    Cordialement

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 162
    Points : 308
    Points
    308
    Par défaut
    Bonjour,

    Il faudrait procéder de la manière suivante pour que cela fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT COUNT(LibFamille) AS Nb_Famille, Année
    FROM (SELECT DISTINCT(SPLIT_PART(Presence.IDEnfant,':',1)) AS LibFamille,	
                        LEFT(Presence.DateActivite,4) AS Année
              FROM Presence)
    GROUP BY Année
    ORDER BY Année
    Cordialement

  5. #5
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    Bonjour,

    deux choses me surprennent en dehors de la requête :

    SPLIT_PART(Presence.IDEnfant,':',1) l'ID divisé en différentes parties avec séparateur est symptomatique d'une erreur de conception. Il serait plus avisé d'avoir une clé unique et une clé composée.

    LEFT(Presence.DateActivite,4) la fonction SQL TRUNC arrive au même résultat mais est optimisé pour les dates.

    Bon dev

Discussions similaires

  1. [débutant] COUNT(DISTINCT ...)
    Par lennelei dans le forum Access
    Réponses: 5
    Dernier message: 21/08/2007, 09h39
  2. Pb requete count distinct
    Par jejedebeziers dans le forum Requêtes
    Réponses: 4
    Dernier message: 04/05/2006, 18h04
  3. [Sql]Having Count ( Distinct )
    Par nuke_y dans le forum Oracle
    Réponses: 5
    Dernier message: 20/02/2006, 21h36
  4. [SGBDR ACCES97] COUNT & DISTINCT
    Par totoche dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/12/2005, 09h24
  5. Query sur plusieurs colonnes avec count(distinct...)
    Par Jeankiki dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/08/2004, 15h22

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