MySQL エラー: 'main.users.type' は GROUP BY にありません
phpMyAdmin で発生したエラー メッセージは、次のことを示しています。の GROUP BY 句に列 (この場合は型) がありません。 query.
理由:
MySQL では、集計関数 (COUNT、SUM など) ではない SELECT 句のすべての列が GROUP BY に含まれている必要があります。句。これにより、結果がそれらの列に従って正しくグループ化されるようになります。
修正:
エラーを解決するには、欠落している列を GROUP BY に追加する必要があります。句:
SELECT `name`, `type`, `language`, `code` FROM `users` WHERE `verified` = '1' GROUP BY `name`, `type`, `language`, `code` ORDER BY `count` DESC LIMIT 0, 25
背景:
SQL92 では、SELECT 句内のすべての列が GROUP BY 句の一部であることが要件です。 SQL99 では、この制限が緩和され、GROUP BY 句に機能的に依存する列が許可されました。ただし、MySQL ではデフォルトで部分的なグループが許可されており、予期しない結果が生じる可能性があります。
一貫性を確保するには、@@sql_mode を 'ONLY_FULL_GROUP_BY' に設定できます。
SET @@sql_mode='ONLY_FULL_GROUP_BY';
Withこの設定では、部分的な GROUP BY クエリはエラーとなり、必要な列をすべてクエリに含める必要があります。条項。
以上がMySQL が「main.users.type」をスローするのはなぜ GROUP BY エラーではないのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。