ホームページ >データベース >mysql チュートリアル >MySQL が「isn't in GROUP BY」エラーをスローするのはなぜですか?それを修正するにはどうすればよいですか?
MySQL エラー: 'isn't in GROUP BY'
MySQL は、取得時に「isn't in GROUP BY」エラーを生成することがよくあります特定のクエリを使用してテーブルからデータを取得します。原因とその解決方法を理解することが重要です。
背景:
MySQL では、COUNT などの集計関数を除く、SELECT 句に含まれるすべてのカラムも必要です。 GROUP BY 句に含める必要があります。これにより、結果が、指定された列に個別の値を持つデータのグループに基づいていることが保証されます。
エラー例:
この例では、次の使用時にエラーが発生します。クエリ:
SELECT `name`, `type`, `language`, `code` FROM `users` WHERE `verified` = '1' GROUP BY `name` ORDER BY `count` DESC LIMIT 0, 25
MySQL は、GROUP BY に列数が存在しないことを検出します。
解決策:
このエラーに対処するには、GROUP BY 句の SELECT 句にすべての列を含める必要があります。この場合、変更されたクエリは次のようになります:
SELECT `name`, `type`, `language`, `code` FROM `users` WHERE `verified` = '1' GROUP BY `name`, `type`, `language`, `code` ORDER BY `count` DESC LIMIT 0, 25
追加メモ:
以上がMySQL が「isn't in GROUP BY」エラーをスローするのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。