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

MySQL エラー #1140:「GROUP 列の混合」を解決する方法?

Linda Hamilton
リリース: 2024-12-18 08:03:10
オリジナル
846 人が閲覧しました

How to Resolve MySQL Error #1140:

MySQL エラー #1140: 「GROUP カラムの混合」の問題について

MySQL エラー #1140、「GROUP カラムの混合 ( GROUP 列のない MIN()、MAX()、COUNT()、...) は次のようになります。 GROUP BY 句がない場合は不正です」というメッセージは、結果をグループ化せずにデータを集計しようとしたときに (たとえば、COUNT() などの関数を使用して) 発生します。これは、SQL クエリの SELECT 句に集計関数と非集計列が含まれており、GROUP BY 句が存在しない場合に発生する可能性があります。

問題の説明:

次の 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
ログイン後にコピー

このクエリをサーバーで ONLY_FULL_GROUP_BY 設定を有効にすると、エラー メッセージが表示されます:

#1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause`
ログイン後にコピー

解決策:

この問題を解決するには、ONLY_FULL_GROUP_BY 設定を無効にするか、 SQL でのグループ化操作query.

  • ONLY_FULL_GROUP_BY の無効化: これは、MySQL 構成ファイルを変更し、次のパラメータを設定することで実現できます:
only_full_group_by = 0
ログイン後にコピー
  • グループ化の強制:クエリに GROUP BY 句を追加すると、問題が解決します。この場合、グループ化を 1 つ以上のフィールド (node.nid など) に適用して、集計関数 (COUNT()) がグループ化されたデータ内でのみ適用されるようにすることができます。変更されたクエリは次のようになります。
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 node.nid
ORDER BY node_data_field_update_date_field_update_date_value DESC
ログイン後にコピー

これらの解決策のいずれかを適用すると、「GROUP 列の混合」エラーを回避して、集計データを正常に取得できます。

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

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