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

MySQL Discussion :

calcul total annuel et mensuel du nombre de kit dans Mysql


Sujet :

MySQL

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2022
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2022
    Messages : 78
    Points : 31
    Points
    31
    Par défaut calcul total annuel et mensuel du nombre de kit dans Mysql
    Bonjour

    J'ai essayé de faire une requête pour calculer le nombre de kits envoyé durant une période donnée

    Si je compare le résultat de MysQl et le tableau excel, j'ai selon des mois, des différences

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT sum(kit) FROM `formulaire_ifce`where dateCommande between '2022-10-01' and '2022-10-31'
    Le resultat sure mysql est de 3468 et sur excel est de 3803

    Certains mois, le résultat tombe juste mais beaucoup de différence sur d'autre mois.

    J'ai essayé de faire la requete autrement mais je tombe sur le mm résultat précédent et non sur celui d'Excel.

    Calculer à la main toutes les commandes serait compliqué car il y'a 4800 lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT sum(kit) FROM `formulaire_ifce` WHERE Datecommande >= '2022-10-01' AND dateCommande <= '2022-10-31'
    Dans l'attente d'un éclairage?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 188
    Points : 12 744
    Points
    12 744
    Par défaut
    Bonjour,
    Avec les informations que tu nous donnes, on ne peut pas savoir pourquoi Excel te donnes une valeur différente de ta requête.
    Sur quoi se base Excel ? Où trouve t'il ses données ?
    Comment est calculé le total dans Excel ?

    Qu'est-ce qui différencie un mois "sans écart" d'un mois "avec écart" ?
    Et surtout: qui a raison entre la requête et Excel ?

    Peut-on avoir un jeu de données, avec la structure des tables utilisées et le résultat attendu ?
    Ici on ne sait pas ce que représente la donnée "kit", par exemple.

    Tatayo.

  3. #3
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 043
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 043
    Points : 8 075
    Points
    8 075
    Billets dans le blog
    17
    Par défaut
    Calculer à la main toutes les commandes serait compliqué car il y'a 4800 lignes
    Il faut réduire l'échantillon d'analyse. Si tu vérifies sur 1 journée plutôt qu'1 mois ce sera plus simple d'identifier l'origine de l'écart.
    Pour le reste je rejoins tatayo.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 088
    Points : 38 395
    Points
    38 395
    Billets dans le blog
    9
    Par défaut
    Vérifiez aussi que la colonne Datecommande est bien de type date, si c'est un type char ou varchar comme on le rencontre malheureusement souvent, le bornage dépend de la saisie, provoquant ainsi des résultats hasardeux.

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 346
    Points : 18 959
    Points
    18 959
    Par défaut
    Salut à tous.

    Citation Envoyé par gabinou7
    Calculer à la main toutes les commandes serait compliqué car il y'a 4800 lignes
    Avec un peu de patience, on arrive à obtenir le résultat escompté.

    Tes deux requêtes produisent le même résultat. Elle ne nous apporte aucun renseignement utile.

    Pour poursuivre les investigations, il nous faudrait un jeu d'essai, aussi bien du fichier excel que de ta table "formulaire_ifce".
    On ne désire pas des milliers de lignes, juste une dizaine, sans plus et si possible sur le même critère afin de comparer les résultats.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2022
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2022
    Messages : 78
    Points : 31
    Points
    31
    Par défaut
    Problème résolu

    En faite le beetween ne prend pas la date de fin donc si des commandes furent passées sur cette date là, normale qu'elle sois pas comptabilisées :-)

    Donc si je veux obtenir un résultat mensuel, je suis obligé de mettre du 2022-01-01 au 2022-02-01 et non jusqu'au 31 de chaque mois

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 188
    Points : 12 744
    Points
    12 744
    Par défaut
    Bonjour,
    Est-ce que la colonne dateCommande est de type Datetime ?
    J'imagine que dans ce cas MySQl cherche les commandes qui sont entre la première date minuit et la deuxième date minuit, vu que les heures ne sont pas indiquées.
    Donc les commandes passées à la deuxième date, mais après minuit, ne sont pas prises en compte.

    Dans ton exemple ça reviendrait à lacer cette requête:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT sum(kit) FROM `formulaire_ifce`where dateCommande between '2022-10-01 00:00:00' and '2022-10-31 00:00:00'

    Si j'ai visé juste il faut juste ajouter l'heure dans les critères de recherche:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT sum(kit) FROM `formulaire_ifce`where dateCommande between '2022-10-01 00:00:00' and '2022-10-31 23:59:59'

    Tatayo.

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2022
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2022
    Messages : 78
    Points : 31
    Points
    31
    Par défaut
    Effectivement cela résous le soucis , si je mets les horaires, j'obtiens bien le mm résultat que le tableau Excel que en mettant sans les horaires mais avec la date du lendemain . donc between commence et s'arrête à minuit quand pas d'heure indiquée si je comprends tout

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 188
    Points : 12 744
    Points
    12 744
    Par défaut
    Je dirai plutôt que MySql ajoute l'heure 00:00:00 à un Datetime pour lequel une heure n'est pas spécifiée.
    Donc le problème sera le même quelque soit le test (between ou opérateur de comparaison).

    Tu peux aussi utiliser la fonction Date() pour extraire la date et éviter ce soucis, mais dans ce cas un éventuel index sur la date ne sera plus utilisable.

    Tatayo.

Discussions similaires

  1. Comment limiter le nombre de threads dans mysql ?
    Par Bronks59 dans le forum Administration
    Réponses: 2
    Dernier message: 28/04/2017, 14h47
  2. [TSQL] calculer le nombre de mot dans une cellule
    Par ricachu dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 31/07/2006, 12h12
  3. Calcul de la factorielle d'un nombre naturel
    Par Sadgunner dans le forum Pascal
    Réponses: 9
    Dernier message: 20/06/2006, 22h56
  4. [Dates] Calculer le nombre de jours dans le mois suivant...
    Par Life Hunter dans le forum Langage
    Réponses: 5
    Dernier message: 14/03/2006, 01h01
  5. Comparaison de base et calculs du nombre d'éléments dans Bas
    Par BXDSPORT dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/07/2004, 09h00

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