集計関数を使用しない GROUP BY の説明
集計関数を使用せずに GROUP BY 句を使用する場合、行を次のように折りたたむ概念を理解することが重要です。単一の行。この場合、この句は、特定のフィールドに同じ値を持つ複数の行を 1 つの行に結合することによって機能します。ただし、このプロセスでは、他のフィールドの競合する値をどのように処理するかという問題が生じます。
提供した例で示されているように、GROUP BY 句でフィールドを選択的に含めるか除外すると、有効な結果または無効な結果が得られます。 GROUP BY 句の列の数が SELECT ステートメントで選択された列の数と等しい場合、有効な結果が生成されます。
たとえば、クエリ「SELECT ename, sal FROM emp GROUP BY ename, sal」の場合、SELECT 句と GROUP BY 句の両方に「ename」と「sal」の両方が存在すると、意図したものが返されます。 Output.
GROUP BY 句の列の数が SELECT ステートメントで選択された数と一致しない場合、無効な結果が発生します。クエリ「SELECT ename, sal FROM emp GROUP BY ename;」 「SELECT ename, sal FROM emp GROUP BY sal;」の場合、選択した列のいずれかにグループ化式が存在しないと、「GROUP BY 式ではありません」というエラー メッセージが表示されます。
このようなエラーを回避するには、次のことを覚えておいてください。集約関数を使用せずに GROUP BY を使用する場合、GROUP BY 句の列の数は、SELECT ステートメントで選択された列の数と常に一致する必要があります。これにより、重複した値を結合して有効な結果を生成する方法について、システムに明確な指示が与えられるようになります。
以上がGROUP BY は集計関数なしでどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。