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 :

Besoin d'aide sur une requête (JOIN + COUNT ?)


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 38
    Points : 22
    Points
    22
    Par défaut Besoin d'aide sur une requête (JOIN + COUNT ?)
    Bonjour, j'ai besoin de votre aide :

    J'ai une table HABILIT, dont les colonnes sont : LOGIN_DATE (date), LOGIN (varchar2), ROLE (varchar2). Chaque fois qu'un utilisateur se connecte à l'application web, une requêtre INSERT est faite, insérant le LOGIN et ROLE (applicatif) de l'utilisateur, pour la date SYSDATE. Il n'existe que 2 rôles : A et B.

    Ce dont j'ai besoin, c'est d'une autre requête permettant de retourner des statistiques sur ces logins. Je cherche une requête qui, pour chaque jour, calcule le nombre de logins d'utilisateurs de rôle A, et de ceux de rôle B, par date décroissante. Le resultSet pourrait par exemple ressembler à ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    DATE       | NB_LOGINS_ROLE_A | NB_LOGINS_ROLE_B
    -----------|------------------|-----------------
    01/06/2005 | 65               | 45
    31/05/2005 | 87               | 128
    30/05/2005 | 111              | 0
    Pour un jour donné, il est très possible que personne du rôle A (ou/et B) ne se soit connecté (i.e. il n'y a pas de ligne dans la table HABILIT pour ce jour là et pour ce(s) rôle(s)).

    Je ne suis par un crack en SQL. Si quelqu'un pouvait me donner la requête SQL qui permettrait d'obtenir ce resultSet, je lui serais très reconnaissant.


    Edit : la base de donnée utilisée est Oracle 8

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Quelque chose comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    select	DATE_LOGIN
    	,	sum(case	ROLE
    				when	'A'	then 1
    				else	0
    			end)	as	NB_LOGINS_ROLE_A
    	,	sum(case	ROLE
    			when	'B'	then 1
    			else	0
    		end)	as	NB_LOGINS_ROLE_B
    from	HABILT
    group by	DATE_LOGIN
    order by	DATE_LOGIN	desc
    ;
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    Merci de cette réponse dès 9:17. Je ne peux pas la tester tout de suite, mais elle a l'air très bien à première vue.

    al1_24, je peux déjà te remercier

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

Discussions similaires

  1. Besoin d'aide sur une requête
    Par vallica dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/05/2007, 13h36
  2. [SQL] Besoin d'aide sur une requête
    Par moonboot dans le forum Oracle
    Réponses: 1
    Dernier message: 01/08/2006, 15h56
  3. besoin d'aide sur une requête mysql
    Par unmulot dans le forum Langage SQL
    Réponses: 5
    Dernier message: 07/07/2006, 13h17
  4. [SQL] Besoin d'aide sur une requête
    Par Angath dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/01/2006, 16h26
  5. Réponses: 1
    Dernier message: 03/08/2005, 11h41

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