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 :

Requête tranche d'âge en fonction de la date de naissance


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 84
    Points
    84
    Par défaut Requête tranche d'âge en fonction de la date de naissance
    Bonjour à tous,

    Je souhaite avoir le nombre de personnes par tranche d'âge (tous les 10 ans par exemple).

    J'ai réalisé cela pour avoir les différents âges, mais je n'arrive pas à faire par tranche et le nombre de personnes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT (YEAR(CURRENT_DATE)-YEAR(naissance_adh))- (RIGHT(CURRENT_DATE,5)<RIGHT(naissance_adh,5)) AS Age From adherents GROUP BY Age ORDER BY `Age` ASC
    Comment faire ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Une piste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select
    Count(IIf([naissance_adh] Between #01/01/1950# And #31/12/1959#,[naissance_adh])) AS [50-59],
    Count(IIf([naissance_adh] Between #01/01/1960# And #31/12/1969#,[naissance_adh])) AS [60-69]
    from adherents

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    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 100
    Points : 28 393
    Points
    28 393
    Par défaut
    A partir de l'âge que tu as calculé, tu divises l'age par 10 en ne gardant que la partie entière. (0 à 9 donne 0, 10 à 19 donne 1, ..., 100 à 109 donne 10)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT CAST((age / 10) AS INTEGER) AS tranche
    ...

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 84
    Points
    84
    Par défaut
    Je préfère la deuxième méthode mais j'ai testé quand même la première et merci pc75.

    Par contre, je réalise donc une double requête en une ?

Discussions similaires

  1. [MySQL] Calculer l'âge en fonction de la date de naissance
    Par loic20h28 dans le forum PHP & Base de données
    Réponses: 49
    Dernier message: 16/10/2008, 13h49
  2. Réponses: 4
    Dernier message: 14/11/2007, 11h07
  3. Requête tranche horaire disponibilité
    Par jeremie74 dans le forum Requêtes
    Réponses: 8
    Dernier message: 25/07/2006, 16h08
  4. [requête] Afficher un champ en fonction de trois autres
    Par charlix dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 07/01/2006, 19h05
  5. Requête à plusieurs colonnes avec la fonction COUNT
    Par zigune dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/11/2004, 10h43

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