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 :

Tranche Age


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 4
    Par défaut Tranche Age
    Bonjour,

    Je me prend la tête sur une requête et je ne vois pas du tout comment je peux faire.

    Pour faire simple, j'ai une table "membre" comme suit :
    id_membre, nom, prenom, date_naissance, email, sexe.

    J'aimerais faire une requete qui me compte le nombre d'email d'homme que j'ai en base, mais classé par tranche d'âge, du style : -20, 20-30, 30-40, 40-50, ...

    Si vous pouviez m'aider ca serait super ! Ah oui, j'allais oublier, le but est de faire ca en une seule requete bien évidement !

    Edit par Adjanakis
    Merci d'utiliser le tag

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2005
    Messages : 391
    Par défaut
    select count(*) from membre where date_naissance < 2086-02-09
    pour les moins de 20 ans

    select count(*) from membre where date_naissance < 2076-02-09
    AND date_naissance > 2086-02-09

    pour les 20 30 ans

    et ainsi de suite
    y a surement plus simple mais ca ca marche

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 4
    Par défaut
    en fait tu m'a pas bien compris, ce que je veux faire c'est tout en une seule requete !

    par exemple, la requete me retournerais
    <20 : 45
    20-30 : 78
    30-40 : 145
    ...

    tu vois ??

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 4
    Par défaut
    Bon, j'ai réussi à la faire au final. Je ne pense pas que se soit très optimisé mais j'ai le résultat que je voulais.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT FLOOR(PERIOD_DIFF(YEAR(CURDATE())*100+MONTH(CURDATE()), YEAR(m.date_naissance)*100+MONTH(m.date_naissance))/12/10) AS num_tranche, 
    	concat('[', FLOOR(PERIOD_DIFF(YEAR(CURDATE())*100+MONTH(CURDATE()), YEAR(m.date_naissance)*100+MONTH(m.date_naissance))/12/10)*10, ':', (FLOOR(PERIOD_DIFF(YEAR(CURDATE())*100+MONTH(CURDATE()), YEAR(m.date_naissance)*100+MONTH(m.date_naissance))/12/10)+1)*10, '[') AS tranche_age, 
    	count(distinct m.email) as nb_email
    FROM membre as m
    WHERE m.sexe like 'homme'
    AND m.date_naissance != '0000-00-00' 
    GROUP BY tranche_age
    ORDER BY num_tranche

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

Discussions similaires

  1. Répartition Tranches Ages
    Par Ric21 dans le forum VBA Access
    Réponses: 10
    Dernier message: 13/06/2008, 08h18
  2. req compter enregi par tranche d'age
    Par rizou40 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 01/12/2007, 18h46
  3. Tranche d'age dans les SSII
    Par samkiller dans le forum SSII
    Réponses: 3
    Dernier message: 31/07/2007, 19h06
  4. moyenne d'age et tranche d'age
    Par Poor_Beginner dans le forum Requêtes et SQL.
    Réponses: 32
    Dernier message: 01/05/2007, 22h59
  5. [Report builder 6] affichage de tranches d'age
    Par Fleur-Anne.Blain dans le forum Oracle
    Réponses: 5
    Dernier message: 11/08/2006, 20h27

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