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

Requêtes MySQL Discussion :

Addition d'une addition


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 20
    Par défaut Addition d'une addition
    Bonsoir,

    voilà quelques temps que j'essaie sans succès d'optimiser une de mes requêtes mysql.

    Voilà ce que je fais:

    A des fins statistiques, je calcule la taille totale des entrées d'un champ d'une table en octet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT sum(length(champ)) taille FROM `matable`
    jusque là rien de compliqué, j'ai bien la taille qu'il me faut.

    sauf que, j'ai besoin de calculer le total des entrées mais sans les entrées en doublon, du coup je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT sum(length(champ))/count(champ) taille FROM `matable` GROUP BY champ
    ce qui fonctionne, le "problème" c'est que forcément, ça me retourne la liste des tailles de chaque entrée que je dois donc récupérer pour additionner.

    Je voulais savoir s'il y avait moyen de tout compter en une seule fois ? Donc d'additionner tous les nombres retournés.

    J'ai déjà suivit quelques pistes, comme par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT distinct champ FROM `matable`
    est équivalent à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT champ FROM `matable` GROUP BY champ
    et me renvoie la liste des entrées sans les doublons.

    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(distinct champ) nb FROM `matable`
    me renvoie bien le nombre total (seul) d'entrées sans les doublons,

    mais par contre ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT sum(length(distinct champ)) taille FROM `matable`
    ne fonctionne pas.
    Mysql me renvoi une erreur de syntaxe:

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'distinct champ)) taille FROM `matable` at line 1
    Merci d'avance pour votre aide!

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Et comme ça ?
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT SUM(LENGTH(t2.champ)) taille 
    FROM (SELECT DISTINCT champ FROM `matable`) as t2
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 20
    Par défaut
    Parfait!

    Exactement ce que je cherchais

    Respect, mille mercis

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

Discussions similaires

  1. [XL-2010] userform / textbox avec date / faire une addition dans une autre textbox
    Par GADENSEB dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/04/2014, 17h21
  2. Réponses: 11
    Dernier message: 14/10/2008, 10h21
  3. Somme avec une addition d'une cellule sur 3
    Par frisou65 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 12/09/2008, 15h02
  4. Réponses: 3
    Dernier message: 30/04/2007, 12h22
  5. Une addition dans une requete
    Par Space Cowboy dans le forum Requêtes
    Réponses: 4
    Dernier message: 10/01/2007, 14h52

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