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 :

Requete avec sum et count


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Requete avec sum et count
    Bonjour,

    J'ai une table "stat" qui contient les champs
    id : clé primaire
    idPers : identifiant de personne
    Societe : societe de la personne
    dhEntree : date/heure d'entrée sur site
    dhSortie : date/heure de sortie du site
    duree : temps passé sur site en secondes

    J'ai besoin de connaitre pour chaque société le nombre de personnes distinctes de cette société qui sont venus sur site et le temps total passé par ces personnes entre 2 dates données.
    Je sais que ça ne parait pas très compliqué comme ça, mais ça l'est...

    Attention en passant par des vues (requete en langage access) j'arrive à obtenir ce que je veux :

    Requete access pour la duree par entreprise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [societe], sum([duree])
    FROM stats
    GROUP BY [stats].[societe];
    Requete pour le nombre de personnes qui sont venues
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT DISTINCT (societe), count(*)
    FROM [SELECT stats.societe, stats.idpers, Count(*)
    FROM  stats
    GROUP BY stats.societe, stats.idpers
    ORDER BY stats.societe]. AS [%$##@_Alias]
    GROUP BY societe;
    Ensuite en faisant une jointure sur le champ societe entre les deux vues précédentes j'obtiens ce que je veux.

    Mais bon dans l'environnment technique qui m'est imposé cette solution des vues n'est pas utilisable (excel+msquery+access).
    Je cherche donc une requete en sql pur mais je ne suis par sur que celà soit possible...
    Merci !

  2. #2
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 14
    Points : 19
    Points
    19
    Par défaut
    tu peux aussi créer des fonctions sql qui te calcul automatiquement le nombre de personne distinct venu dans ta societe et apres tu pourrais tout simplement faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT [societe], sum([duree],nb_personne(societe))
    FROM stats
    GROUP BY [stats].[societe];

Discussions similaires

  1. requete avec sum if distinct
    Par bourvil dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/05/2010, 14h35
  2. Pb de requete avec SUM et sans enregistrement
    Par sevyc64 dans le forum Développement
    Réponses: 7
    Dernier message: 11/07/2009, 19h28
  3. [SQL] - Probleme de requete avec SUM
    Par toxycyty dans le forum Langage SQL
    Réponses: 9
    Dernier message: 05/02/2009, 15h33
  4. Problème de requete avec SUM
    Par fatiinfo dans le forum Hibernate
    Réponses: 2
    Dernier message: 27/08/2008, 16h18
  5. requete avec divisions de count
    Par prez dans le forum Langage SQL
    Réponses: 5
    Dernier message: 25/08/2004, 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