J'ai cette requête qui fonctionne correctement dans MySQL. Plus de fond à ce sujet here. J'ai essayé de l'exécuter dans PostgreSQL, et il a échoué avec ce message d'erreur.Conversion de MySQL select en PostgreSQL
PGError: ERROR: column "c.name" must appear in the GROUP BY clause or be used in an aggregate function
Je ne savais pas ce que cela voulait dire, alors j'ai essayé de changer « c.id » à « c.name » dans le groupe par clause (à la fois dans MySQL même, en supposant que le nom d'un élément est unique).
Cependant, ce produit vient une autre erreur semblable
PGError: ERROR: column "c.id" must appear in the GROUP BY clause or be used in an aggregate function
Comment ce problème peut être résolu?
Bizarrement, il semble que cela soit maintenant autorisé dans Postgre 9.1 – you786
A-t-il été supprimé dans Postgre 9.2? Je reçois cette erreur pour les mêmes raisons. – Aaron
@Aaron: il n'a pas été supprimé mais fonctionne uniquement lorsque (en citant la [documentation] (http://www.postgresql.org/docs/current/static/sql-select.html)): _la colonne non groupée dépend fonctionnellement des colonnes groupées, puisqu'il y aurait autrement plus d'une valeur possible à retourner pour une colonne non groupée. Une dépendance fonctionnelle existe si les colonnes groupées (ou un sous-ensemble de celles-ci) sont la clé primaire de la table contenant la colonne dégroupée_ –