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

Requêtes MySQL Discussion :

SELECT DANS UN SELECT


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    Par défaut SELECT DANS UN SELECT
    Bonsoir à tous

    je débute en SQL est j'aimerai faire une requête imbriqué (si c'est possible)

    J'ai contourné mon problème en faisant une requête sur une vue et cela fonctionne.

    Je pense que cela est possible de faire la même chose avec une requete imbriqué, mais cela ne fonctionne pas.

    Merci pour votre aide

    j'ai essayé cela

    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
     
    SELECT
    year(Date2),
    count(SUBSTRING_INDEX(EnfantID,':',1))
     
    FROM
    (select 
    Date,
    EnfantID
    from 
    presence 
    group by 
    Date,
    substring_index(EnfantID,':',1))
     
     
    GROUP BY
    year(Date)
    order by
    year(Date)

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Que cherchez-vous à obtenir ?
    Pourquoi ce comptage sur un SUBSTRING_INDEX ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre averti
    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
    Par défaut
    Bonsoir,

    mon champ EnfantID est de ce style .
    FAM_X:ENF_Y
    X étant l'ID de la Famille
    Y étant l'ID de l'enfant

    Avec le SUBSTRING_INDEX(EnfantID,':',1) je récupère FAM_X

    Je cherche à compter le nombre de famille unique par année

    PAR EXEMPLE AVEC CES DONNEES
    2013-08-05 / FAM_1:ENF1
    2013-08-05 / FAM_1:ENF2
    2013-08-05 / FAM_3:ENF1

    J'AURAIS
    2 FAMILLE DIFFÉRENTE EN 2013

    Merci pour votre aide

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    J'espère que vous n'aurez pas des centaines de milliers d'enfants à compter parce que votre identifiant est mal choisi. Vous auriez dû séparer ça en deux colonnes.

    Puisque vous voulez compter par année, il faut grouper par année !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT YEAR(Date2) AS Annee,
    	COUNT(DISTINCT SUBSTRING_INDEX(EnfantID, ':', 1)) AS Nombre
    FROM presence
    GROUP BY YEAR(Date2)
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre averti
    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
    Par défaut
    Bonsoir,

    en fait en faisant le group by year(date) je compte le nombre de famille unique sur une année.
    Moi je souhaite connaitre le nombre de famille qui sont venues dans une année sans compter les doublons (sur une meme journee)

    PAR EXEMPLE AVEC CES DONNEES
    2013-08-05 / FAM_1:ENF1
    2013-08-05 / FAM_1:ENF2
    2013-08-05 / FAM_3:ENF1
    2013-08-04 / FAM_3:ENF1

    AVEC GROUP BY YEAR J'AURAIS
    2 FAMILLES EN 2013

    MOI JE SOUHAITE AVOIR
    3 FAMILLES EN 2013

    Merci

  6. #6
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Moi je souhaite connaitre le nombre de famille qui sont venues dans une année sans compter les doublons (sur une meme journee)
    Et bien c'est justement le rôle du COUNT(DISTINCT ...)
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

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

Discussions similaires

  1. Selection d'une selection dans un filtre
    Par Swiper dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/07/2007, 19h26
  2. changement de formulaire sur selection dans le select
    Par LeXo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/06/2006, 11h51
  3. select dans un select
    Par Terminator dans le forum Langage SQL
    Réponses: 7
    Dernier message: 20/10/2005, 18h23
  4. [firebird] sous select dans un select
    Par gdido dans le forum SQL
    Réponses: 2
    Dernier message: 14/05/2004, 09h57
  5. [Sybase] Select dans une select loop en C
    Par Claudio dans le forum Sybase
    Réponses: 2
    Dernier message: 29/04/2003, 18h06

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