Query with count

manuzerwa Messages postés 10 Statut Membre -  
manuzerwa Messages postés 10 Statut Membre -
Bonjour,

J'ai un tableau suivant:

ID Nom DOB
1 Jean 2004
2 Louis 2004
3 Andre 2006
4 Fifi 2006
5 Albert 2002

Je voudrais avoir le nombre des personnes qui sont nees en: 2004, 2006 et 2002 et donc avoir le tableau suivant:

Annee Nombre
2004 2
2006 2
2002 1

4 réponses

  1. jee pee Messages postés 31962 Date d'inscription   Statut Modérateur Dernière intervention   10 008
     
    Salut,

    En sql c'est quelque chose comme :

    SELECT DOB, COUNT(*) FROM table GROUP BY DOB

    cdlt
    0
    1. manuzerwa Messages postés 10 Statut Membre
       
      Ceci ne marche pas!!
      0
    2. jee pee Messages postés 31962 Date d'inscription   Statut Modérateur Dernière intervention   10 008
       
      La syntaxe sous sqlserver est peut être différente, il faut que tu regardes le group by et le count.
      0
  2. manuzerwa Messages postés 10 Statut Membre
     
    Merci Jee, ca marche! Le proble que j'ai c'est quand j'ai les dates differentes pour une annee, ex: 20/12/2004, 11/3/2004. Comment compter pour une meme annee?
    0
  3. jee pee Messages postés 31962 Date d'inscription   Statut Modérateur Dernière intervention   10 008
     
    Faut utiliser un format de date, sous Oracle je mettrais :

    SELECT to_char(DOB,'YYYY'), COUNT(*) FROM table
    GROUP BY to_char(DOB,'YYYY')
    0
  4. manuzerwa Messages postés 10 Statut Membre
     
    Merci Jee! Je l'ai trouve; en SQL Server c'est comme ca:

    SELECT DATEPART(yyyy, DOB) AS Year, COUNT(DATEPART(yyyy, DOB)) AS Number
    FROM Table
    GROUP BY DATEPART(yyyy, DOB)
    0