ホームページ > データベース > mysql チュートリアル > MySQL エラー #1140: リモート SQL クエリの「GROUP カラムの混合」を解決する方法?

MySQL エラー #1140: リモート SQL クエリの「GROUP カラムの混合」を解決する方法?

Barbara Streisand
リリース: 2025-01-01 13:53:10
オリジナル
916 人が閲覧しました

How to Resolve MySQL Error #1140:

リモート環境での MySQL エラー #1140:「GROUP カラムの混合」の処理

エラー「MySQL #1140 - GROUP カラムの混合 (MIN( GROUP BY がない場合、GROUP 列のない )、MAX()、COUNT()、...) は不正です。句」は、SQL クエリが GROUP BY 句を使用せずに、グループ化された列 (COUNT() など) とグループ化されていない列 (nid など) を混合しようとしていることを示します。

特定のケースでは、次の SQL クエリで問題が発生します:

SELECT COUNT(node.nid),
       node.nid AS nid,
       node_data_field_update_date.field_update_date_value AS node_data_field_update_date_field_update_date_value
FROM node node
LEFT JOIN content_type_update node_data_field_update_date ON node.vid = node_data_field_update_date.vid
WHERE node.type IN ('update')
ORDER BY node_data_field_update_date_field_update_date_value DESC
ログイン後にコピー

この問題を解決するには、次の 2 つの方法があります。 options:

  1. Disable ONLY_FULL_GROUP_BY: この MySQL サーバー設定では、選択されたすべてのカラム (集計関数を除く) が GROUP BY 句に含まれている必要があります。 MySQL 設定で ONLY_FULL_GROUP_BY を 0 に設定することで無効にできます。
  2. GROUP BY 句を追加します: あるいは、選択に使用された列によって結果を明示的にグループ化することもできます:
SELECT COUNT(node.nid),
       node.nid AS nid,
       node_data_field_update_date.field_update_date_value AS node_data_field_update_date_field_update_date_value
FROM node node
LEFT JOIN content_type_update node_data_field_update_date ON node.vid = node_data_field_update_date.vid
WHERE node.type IN ('update')
GROUP BY nid, node_data_field_update_date_field_update_date_value
ORDER BY node_data_field_update_date_field_update_date_value DESC
ログイン後にコピー

これらのソリューションのいずれかを組み込むことで、「混合」に対処できます。 GROUP columns」エラーが発生しても、リモート環境で SQL クエリが正常に実行されます。

以上がMySQL エラー #1140: リモート SQL クエリの「GROUP カラムの混合」を解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート