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

Développement SQL Server Discussion :

Problème procédure stockée distinct, group by


Sujet :

Développement SQL Server

  1. #1
    Nouveau membre du Club
    Développeur Web
    Inscrit en
    Janvier 2011
    Messages
    49
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2011
    Messages : 49
    Points : 39
    Points
    39
    Par défaut Problème procédure stockée distinct, group by
    Bonjour,
    j'ai une table, qui simplifiée,est de la forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [Year] | [Month] | [Mail]
    Je souhaite récupérer l'ensemble des utilisateurs par année(utilisateur=adresse mail dans ce cas).
    C'est à dire qu'il faut ne compter qu'une fois un utilisateur par année.

    Par exemple si il apparaît deux fois en 2008 et 3 fois en 2009 dans la table, il faut que cette utilisateur soit compté une fois en 2008 et une fois en 2009.

    Avez vous une idée?
    merci d'avance.

  2. #2
    Nouveau membre du Club
    Développeur Web
    Inscrit en
    Janvier 2011
    Messages
    49
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2011
    Messages : 49
    Points : 39
    Points
    39
    Par défaut
    pour le moment j'ai fait ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select [YEAR], [Email] from table
    group by [YEAR],[Email]
    order by Email;
    maintenant je souhaite récupérer par exemple:
    2010 => 11454 utilisateurs
    2009 => 9941 utilisateurs
    ....

  3. #3
    Nouveau membre du Club
    Développeur Web
    Inscrit en
    Janvier 2011
    Messages
    49
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2011
    Messages : 49
    Points : 39
    Points
    39
    Par défaut
    bon j'ai reussit pour cette requête, j'aurai juste besoin d'aide pour la deuxième.

    C'est la même chose sauf que je veux grouper les résultats par mois et année.

    Je veux récupérer:
    2011 5 => 14514 téléchargements
    2011 4 => 1541 téléchargements
    ....

    mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Select [YEAR] as [Year], [MONTH] as [Month], [Email] as [Email] from tab
    group by [Year],[Month],[Email]
    mais maintenant je n'arrive pas à compter pour chaque mois et année.

  4. #4
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 104
    Points
    1 104
    Par défaut
    Pour compter il faut utiliser la fonction Count(*).
    Essayez ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Year, Month, Count(*) AS nbEmail 
    FROM tab
    GROUP BY Year, Month

  5. #5
    Nouveau membre du Club
    Développeur Web
    Inscrit en
    Janvier 2011
    Messages
    49
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2011
    Messages : 49
    Points : 39
    Points
    39
    Par défaut
    Je sais qu'il faut utliser la fonction Count. Le seul problème est que la il faut que je fasse un count de deux colonnes et c'est impossible je crois.

    La je récupère une requête qui me renvoit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [YEAR] [MONTH] [MAIL]
    donc c'est un début, je vois donc qui a télécharger au moins une fois par mois/année.
    Maintenant il faut que je fasse un count des colonnes(mois/année).

    Je dois m'exprimer mal.

    J'ai une table qui contient des téléchargements, cette table simplifié est sous la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [YEAR][MONTH][MAIL][STATE]....
    Et le but de ma requête est de récuperer par mois/année, le nombre d'utilisateur. Donc un seul téléchargement par utilisateurs par mois/année.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [YEAR] AS [Year], [MONTH] AS [Month], [Email] AS [Email] FROM tab
    GROUP BY [Year],[Month],[Email]
    avec cette requête je récupère bien l'ensemble des utilisateurs par mois/année, mais il faut que je les groupe maintenant pour obtenir:

    2008(année) 5(mois) 1454 téléchargements
    2008 4 15415 téléchargements...

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

Discussions similaires

  1. Problème procédure stockée
    Par toomsbzh dans le forum SQL
    Réponses: 9
    Dernier message: 31/05/2007, 11h55
  2. Problème procédure Stockée + VBS
    Par gothard dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 20/02/2007, 16h39
  3. Réponses: 2
    Dernier message: 20/09/2006, 14h38
  4. problème procédure stockée
    Par hamham dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 19/04/2006, 12h33
  5. Problème procédure stockée + trie
    Par an_merle dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 14/02/2006, 22h58

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