MySQL エラー 1111 の解決: グループ関数の無効な使用
MySQL を使用すると、「エラー 1111 (HY000):」というエラーが発生する場合があります。列によるグループ化と同時に COUNT(*) などのグループ関数を使用してデータを集計しようとすると、「グループ関数の使用が無効です」というメッセージが表示されます。
このエラーを解決するには、クエリを実行するときに SELECT 句でグループ関数を使用しないようにしてください。 GROUP BY 操作。代わりに、サブクエリまたは ORDER BY 句を使用して、必要な最大値を取得します。
次の例を考えてみましょう。
<code class="mysql">SELECT name, MAX(COUNT(*)) AS max_count FROM table GROUP BY name;</code>
このクエリは、COUNT() のためエラーを返します。 SELECT 句で使用されていると同時に、名前でグループ化されています。これを修正するには、SELECT 句から COUNT() を削除し、MAX 関数内のサブクエリとして使用します。
<code class="mysql">SELECT MAX((SELECT COUNT(*) FROM table WHERE name = t.name)) AS max_count FROM table t GROUP BY name;</code>
このクエリを実行すると、各レコードの最大レコード数が取得されます。表の名前。あるいは、ORDER BY 句を使用して結果をカウントで並べ替え、最初のレコードのみをフェッチすることもできます:
<code class="mysql">SELECT name, COUNT(*) AS count FROM table GROUP BY name ORDER BY count DESC LIMIT 1;</code>
以上がMySQL エラー 1111 を修正する方法: 列でグループ化する際のグループ関数の使用が無効です?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。