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 :

Somme par jour en SQL


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 3
    Points
    3
    Par défaut Somme par jour en SQL
    Bonjour à tous,

    je travaille avec ms querry et une base AS400 (un classique)

    j'ai une requete filtrer sur une seule et unique ref qui me renvoir un truc du genre

    N°produit | date | besoin à la date

    1111 | 20090720 | 2500
    1111 | 20090720 | 1500
    1111 | 20090720 | 3500
    1111 | 20090725 | 2500
    1111 | 20090726 | 2500

    ce que j'aimerai avoir comme résultat c'est 1 ligne par date pour pouvoir ensuite calculer l'écar type de la série. (je crois que ça peut se faire en SQL)

    Le résultat ressemblerai donc à

    N°produit | date | besoin à la date

    1111 | 20090720 | 7500
    1111 | 20090725 | 2500
    1111 | 20090726 | 2500

    Merci d'avance pour votre aide

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 792
    Points : 34 013
    Points
    34 013
    Billets dans le blog
    14
    Par défaut
    Ecart type ?
    Euh... ton résultat ressemble plutôt à la somme par date !
    Comme tu ne donnes pas la structure de la ou des table(s) utilisée(s) par ta requête, contrairement aux règles du forum, on va considérer que le résultat de ta requête est une vue que tu peux interroger directement. A toi d'adapter le principe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Num_Produit AS N°produit, LaDate AS 'date', SUM(besoin) AS 'besoin à la date'
    FROM laVue
    GROUP BY Num_Produit, LaDate
    ORDER BY Num_Produit, LaDate
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Je ne connais pas AS400, mais si tes dates sont stockées sans l'heure, il s'agit d'un simple select avec group by
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT NUM_PRODUIT,LA_DATE,SUM(besoin)
    from LA TABLE
    Group by NUM_PRODUIT,LA_DATE
    en remplaçant les noms des champs par les bons et le nom de la table par le nom réel.
    A+
    Soazig

  4. #4
    Candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    je crois que je n'ai pas bien exprimer mon problème, je m'en excuse.


    En fait j'ai déja testé cette solution que vous me proposer mais les résultats donné par la somme ne sont pas corrects. et je n'arrive pas à comprendre pourquoi.


    La table à la structure comme je l'ai annoncée, référence | date | besoin

    Il peut y avoir plusieurs besoin pour la référence pour une meme date
    Il peut y avoir plusieurs besoin égaux pour la référence pour une même date
    Il y à plusieurs dates de besoin pour la référence

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Et en quoi les résultats obtenus ne sont-ils pas corrects? Peut-on avoir un exemple svp?

  6. #6
    Candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    bon en tapant ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT TABLE.MPROD, TABLE.MQREQ, TABLE.MRDTE
    FROM BASE.TABLE TABLE
    WHERE (TABLE.MPROD='0681-0121')
    GROUP BY TABLE.MPROD, TABLE.MQREQ, TABLE.MRDTE
    ORDER BY TABLE.MRDTE

    j'obtien le fichier joint

    et en metteant sum(MQREQ)
    j'obtien exactement le même résultat.

    ce que je veux c'est que la requete me renvoi la SOMME DE BESOIN PAR JOUR
    Images attachées Images attachées  

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Et bien il suffit que FMAL01.MQREQ n'apparaisse pas dans le GROUP BY, comme il est dit dans les deux premières réponses à ton message.

    Tu as édité donc j'édite aussi, histoire que ce soit cohérent : c'est TABLE.MQREQ qui ne doit pas apparaitre dans le GROUP BY.

  8. #8
    Candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Ha oui ça ne doit pas être dans le group By, ça je ne savait pas.

    De plus il y avait en fait dans ma table une autre colone à soustraire pour que j'obtienne des quantités égales à ce que donne l'ERP.

    Je vous remercie de votre rapidité de réponse.

    peut on utiliser la fonction STDDEV dans SQL ?

    merci

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Aucune idée pour STDDEV et msquerry, je ne connais pas.
    Un lien qui peut vous aider à bien comprendre les regroupements :
    http://sqlpro.developpez.com/cours/sqlaz/ensembles/#L1

  10. #10
    Candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    On peut tout à fait utiliser la fonction STDDEV,
    cependant je n'arrive pas à la faire fonctionner sur la réponse d'un SELECT

    du genre = STDDDEV (la colonne besoin groupé par date renvoyé par la requete précédente)

    Je cherche une solution, si je trouve je vous informe. je pense que ce n'est pas possible, la fonction n'a pas l'air d'être conçue pour faire ça. peut être passer par une table intermédiaire du coup...

Discussions similaires

  1. [XL-2007] Max avec des sommes par jour
    Par LaPanic dans le forum Excel
    Réponses: 5
    Dernier message: 24/03/2014, 11h30
  2. Réponses: 0
    Dernier message: 13/08/2013, 10h33
  3. Somme par an en SQL
    Par Xenonmax dans le forum Langage SQL
    Réponses: 3
    Dernier message: 26/06/2010, 13h50
  4. [SQL] Nombre de connexion par jour
    Par Oberown dans le forum Langage SQL
    Réponses: 1
    Dernier message: 20/10/2005, 16h52
  5. Entrée aléatoire par jour SQL/ASP
    Par glidez dans le forum ASP
    Réponses: 3
    Dernier message: 28/09/2005, 18h17

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