エラー「SELECT リストの式が GROUP BY 句になく、非集計列が含まれています」 libelle'," は通常、SELECT リスト内の非集計列を使用してクエリを実行するときに発生します。および GROUP BY 句。このエラーを解決するには、すべての非集計列が GROUP BY 句に含まれていること、または SUM()、AVG()、COUNT() などの関数を使用して集計されていることを確認する必要があります。
Inこの特定のケースでは、クエリは「libelle」、「credit_initial」、「disponible_v」、「montant」を含む列を選択しようとします。ただし、GROUP BY 句には「libelle」のみが含まれ、「montant」は集計されません。この問題を解決するには、クエリを変更して GROUP BY 句に 'montant' を含めるか、SUM() または別の適切な関数を使用して集計します。
SOLUTION
これは、GROUP BY に「montant」を含むクエリの更新バージョンです。句:
SELECT libelle, credit_initial, disponible_v, SUM(montant) AS total_montant FROM fiche, annee, type WHERE type.id_type = annee.id_type AND annee.id_annee = fiche.id_annee AND annee = YEAR(current_timestamp) GROUP BY libelle, credit_initial, disponible_v ORDER BY libelle ASC
または、SUM() を使用してクエリを調整して 'montant' を集計することもできます:
SELECT libelle, credit_initial, disponible_v, SUM(montant) FROM fiche, annee, type WHERE type.id_type = annee.id_type AND annee.id_annee = fiche.id_annee AND annee = YEAR(current_timestamp) GROUP BY libelle ORDER BY libelle ASC
これらの変更を加えることで、クエリは MySQL 5.7 に準拠します。厳密な GROUP BY モードを使用してエラーを回避します。
以上が「SELECT リストの式が GROUP BY 句にありません」という MySQL エラーを修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。