Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/11/2011, 12h57   #1
Invité de passage
 
Homme Loïc
Webdesigner
Inscription : novembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Webdesigner
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut Erreur : Mixing of GROUP columns

Bonjour à tous,

Je débute sur php et Mysql et je me retrouve confronté ce jour à un problème.
J'ai développé un module de création et d'envoi de newsletter. Pour finaliser ce dernier j'ai développé un système de tracking et de suivi des envois, des destinataires et des lectures.
Je dispose donc, entre autre, de 2 tables :
- envoi_mail
- newsletter

Je tente de faire une requête pour faire la somme des lectures (champ em_compteur).
Ma requête est la suivante :

Code :
1
2
3
4
5
mysql_select_db($database_marscoiff, $marscoiff);
$sql1 = sprintf("
  SELECT SUM(em_compteur) AS cpt , em_newsletter 
  FROM envoi_mail 
  WHERE em_newsletter = %s", GetSQLValueString($colname_BO_liste_newsletter, "int"),"GROUP BY em_id");
puis en dessous je récupère mes variables.

Le problème que je rencontre est que en local j'utilise MAMP (PHP Version 5.3.5, et MySql Version du serveur: 5.5.9) la requête fonctionne très bien.

Sur mon serveur distant les versions sont les suivantes :
MySQL : Version du serveur: 5.0.44-log et à l'exécution j'obtiens l'erreur suivante : "Erreur : Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause"


Pourriez-vous maider à rendre cette requête valide SVP.

Merci pour votre aide.

Loïc
lmabire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 13h09   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 11 029
Points : 18 333
Points : 18 333
Envoyer un message via MSN à CinePhil
Pourquoi le GROUP BY se retrouve t-il en dehors de la requête ?

Essaie plutôt comme ça :
Code PHP :
1
2
3
4
5
6
7
mysql_select_db($database_marscoiff, $marscoiff);
$sql1 "
	SELECT SUM(em_compteur) AS cpt , em_newsletter 
	FROM envoi_mail 
	WHERE em_newsletter = ".GetSQLValueString($colname_BO_liste_newsletter, "int")."
	GROUP BY em_id
";
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/11/2011, 13h09   #3
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 652
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 652
Points : 2 651
Points : 2 651
Bonjour,

Vous essayez d'utiliser une fonction d'agrégation sans avoir agréger vos colonnes.

Donc c'est normal qu'il braille (pour le cas présent).

Un peu de lecture : http://sqlpro.developpez.com/cours/sqlaz/ensembles/


Sinon, essayez cette requête :

Code :
1
2
3
4
5
 
SELECT SUM(em_compteur) AS cpt , em_newsletter 
  FROM envoi_mail 
  WHERE em_newsletter = %s
GROUP BY em_newsletter
punkoff est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/11/2011, 13h32   #4
Invité de passage
 
Homme Loïc
Webdesigner
Inscription : novembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Webdesigner
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut Cool !

Merci à vous deux pour vos réponses rapides et pertinentes ...

Je promets que je me documenterai sur le sujet, j'en ai marre de galérer sur des requêtes toutes bêtes

Bon en même temps faut dire que il y a trois mois je ne touchais pas une ligne en html, css, php et sql donc le chemine petit à petit.

Merci encore.

Ou dois je cliquer pour marquer comme résolu ?

Bonne journée et à bientôt
Loïc
lmabire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 13h37   #5
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 11 029
Points : 18 333
Points : 18 333
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par lmabire Voir le message
Ou dois je cliquer pour marquer comme résolu ?
Il y a un bouton en bas de la discussion.
Je l'ai cliqué pour toi.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h04.


 
 
 
 
Partenaires

Hébergement Web