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 :

expression dans un select ?


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 24
    Points : 22
    Points
    22
    Par défaut expression dans un select ?
    Je souhaite faire une requête bien spécifique sur une table d'environ 5000000 lignes mais pour simplifier et expliquer mon problème je prendrais l'exemple qui suit.
    voici ma table vente_jour

    DATE VENTE
    04/04/2006 renault
    04/04/2006 peugeot
    03/04/2006 citroen
    05/04/2006 citroen
    04/04/2006 renault
    05/04/2006 citroen
    05/04/2006 peugot
    04/04/2006 citroen

    je souhaite obtenir ce résultat


    DATE_V VENTE NB
    04/04/2006 renault 2 50%
    04/04/2006 peugeot 1 25%
    04/04/2006 citroen 1 25%
    03/04/2006 citroen 1 100%
    05/04/2006 citroen 2 50%
    05/04/2006 peugot 1 50%

    En fait je cherche à avoir le nombre de voiture de même type vendu par jour
    et le pourcentage de vendu par jour pour chaque type !!
    ne faudrait il pas faire une sous requetes


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT DATE_V, VENTE
    count (VENTE) AS NB
     
    FROM vente_jour
    GROUP BY VENTE, DATE_V
    j'aurais rajouté un
    [count (VENTE)/ count distinct (DATE_V)*100] as pourcentage
    mais ça ne marche pas !!
    Pouvez vous m'éclairer svp !
    merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    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 099
    Points : 28 400
    Points
    28 400
    Par défaut
    C'est relativement simple à faire avec les fonctions de regroupement analytiques, mais comme tu ne précises pas le SGBD que tu utilises, on ne peut pas savoir s'il les prend en charge.

    Règles du forum Langage SQL à lire par tous

  3. #3
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Ce genre de requete peut vous aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT a.date_v, a.vente,a.nb, (a.nb/b.nb)*100 from
    (SELECT date_v, vente, COUNT(1) nb
    FROM vente_jour
    GROUP BY vente, date_v) a,
    (
    SELECT date_v, SUM(nb) AS nb from
     (SELECT date_v, vente, count(1) as nb
    FROM vente_jour
    GROUP BY vente, date_v) c GROUP BY date_v) b
    WHERE a.date_v=b.date_v order by 1,2
    A tester et adapter
    Bon courage

    Ps : N'oubliez pas de gerer le cas de la division par 0 bien sur

Discussions similaires

  1. Expression régulière dans requête SELECT ?
    Par aliasjcdenton dans le forum Langage SQL
    Réponses: 4
    Dernier message: 18/04/2011, 10h13
  2. Expressions régulières dans un SELECT
    Par CinePhil dans le forum Requêtes
    Réponses: 5
    Dernier message: 01/10/2008, 13h08
  3. Joindre une valeur arbitraire dans un SELECT
    Par Tuxxy dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/01/2004, 17h04
  4. Réponses: 3
    Dernier message: 23/09/2003, 09h12
  5. [Sybase] Select dans une select loop en C
    Par Claudio dans le forum Sybase
    Réponses: 2
    Dernier message: 29/04/2003, 18h06

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