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 :

invalid use of group function


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut invalid use of group function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SELECT a.*, count(v.`pub_id`)
    FROM `affaires_pub` a 
    LEFT JOIN `paiement_pub` p ON a.id = p.pubId 
    LEFT JOIN `affaires_pub_view` v ON v.pub_id = a.id
    WHERE `active`= '1' 
      AND `payee` = '1' 
      AND `renouvelee` = '0'
      AND count(v.`pub_id`) <= 10000 
    GROUP BY v.`pub_id`
    ORDER BY RAND()
    LIMIT 1
    En gros:
    la table affaires_pub contiens les info que j'ai besoin (banière, lien, etc). paiements_pub sont les paiements pour les pubs et affaires_pub_view j'y stocke les informations sur les affichages.

    Le but ici est d'aller chercher une banière au hasard dont le taux d'affichage est de <= 10 000 affichages. Je peux toujours faire une mise à jour à chaque fois que j'insère dans affaires_pub_view mais il me semble que c'est pas le must.

    Dans le cas actuel j'essaie de joindre la table et de faire un compte.

    Z'avez une idée de la meilleure approche à faire ? Ça serais bien apprécié

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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 818
    Billets dans le blog
    14
    Par défaut
    Il faut utiliser HAVING pour la restriction qui s'opère sur le calcul et non pas l'inclure dans la clause WHERE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT a.*, count(v.`pub_id`)
    FROM `affaires_pub` a 
    LEFT JOIN `paiement_pub` p ON a.id = p.pubId 
    LEFT JOIN `affaires_pub_view` v ON v.pub_id = a.id
    WHERE `active`= '1' 
      AND `payee` = '1' 
      AND `renouvelee` = '0'
      
    GROUP BY v.`pub_id`
    HAVING count(v.`pub_id`) <= 10000 
    ORDER BY RAND()
    LIMIT 1
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    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
    Invité
    Invité(e)
    Par défaut
    c'était auss simple que ça ...

    *shame on me*

    merci pour l'aide même si c'était tout simple (c'est avec des constats simples comme ça que la job de DBA c'est clairement pas fait pour moi )

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

Discussions similaires

  1. #1111 - Invalid use of group function
    Par okoweb dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/04/2011, 19h24
  2. Invalid use of group function
    Par okoweb dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/02/2011, 00h36
  3. Cannot use an aggregate function in a GROUP BY clause
    Par MICLANG dans le forum Firebird
    Réponses: 4
    Dernier message: 16/08/2010, 18h29
  4. UPDATE et AVG(): invalid use of group function
    Par ctobini dans le forum Requêtes
    Réponses: 1
    Dernier message: 27/02/2008, 13h12
  5. invalid use of group function
    Par sirbaldur dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/05/2006, 15h38

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