Windows PC で MySQL 5.7.13 と WAMP サーバーを使用しています
私の問題は、このクエリを実行するときです
リーリーいつもこのエラーが発生します
SELECT リストの式 #1 は GROUP BY 句になく、非集計列 "returntr_prod.tbl_customer_pod_uploads.id" を含みますが、これは GROUP BY 句の列に機能的に依存していません。これは次のとおりです。 sql_mode=only_full_group_by 互換性がありません
最良の解決策を教えていただけますか?
この結果が必要です
リーリー
MySql エンジンにはシステム変数
ONLY_FULL_GROUP_BY
があります。Mysql バージョン 5.7.5 以降:
ONLY_FULL_GROUP_BY
SQL モードはデフォルトで有効になりますバージョン 5.7.5 より前:
ONLY_FULL_GROUP_BY
はデフォルトでは有効になっていません。ONLY_FULL_GROUP_BY
SQL モードが有効になっている場合 (バージョン 5.7.5 以降はデフォルトで有効になっています)、MySQL は選択リスト、HAVING
条件、またはORDER BY## を拒否します。 # リスト
GROUP BY句で名前が指定されておらず、機能的にもそれらに依存していない非集計列を指します。
: ONLY_FULL_GROUP_BY モード
phpMyAdmin を使用している場合は、以下のスクリーンショットに示すように
sql_mode
SQLモード設定を変更します。
編集変数を値から削除
(2) SQL/コマンドプロンプトONLY_FULL_GROUP_BY
Text######または######
: 次のコマンドを実行して、ONLY_FULL_GROUP_BY モードを無効にします。
リーリー ######または######(3) SELECT *
は使用しないでください。ONLY_FULL_GROUP_BY
モードを無効にしないでください。ただし、
group bySELECT クエリで関連列を使用します。関連とは、
句に現れる列、または集計関数 (MAX、
SUMMIN
、、
######重要######
point(1) OR point(2)
) に設定する必要があります。効果:###) を含む列を意味します。 COUNT
など)を使用して行われた変更は永続的に設定されず、再起動するたびに復元されます。
したがって、変更が MySQL の再起動後も持続するように、設定ファイル (例: 代码>[mysqld] セクションの 代码>/etc/mysql/my.cnf
設定ファイル:/etc/mysql/my.cnf
変数名
sql_mode
OR
sql-mode
値から
という単語を削除し、ファイルを保存します。ONLY_FULL_GROUP_BY
注
: 構成ファイル内に
sql_mode 変数が見つからない場合は、ファイルの最後に次の 2 行を挿入してください リーリー###これ###
この問題は、このコマンド
を使用して MySQL の SQL モードを変更することで簡単に解決できます。 リーリーこれは私にも効果があります.. 私のプロジェクトにはこのようなクエリがたくさんあったため、これを使用しました。そのため、このSQLスキーマをonly_full_group_by
に変更しました。または、SELECT ステートメントで指定された GROUP BY 句にすべての列のみを含めます。 sql_mode は有効のままにすることができます。
###ありがとう...:-)###https://stackoverflow.com/a/41887524/3602846 以下の回答で言及されています