ホームページ  >  に質問  >  本文

group by 句を使用した MySQL クエリは、group by 句を使用しない場合よりも多くの行を返します

group by 句を使用しない場合、1 つのレコードのみが返され、そのうち必要な数のレコードが返されます

リーリー

SQL スクリプトが関連する販売者を返すかどうかをテストしていますが、中央に 1 件のレコードしか表示されません。何度も試した結果、「グループ化」を挿入することでこの問題は解決しました。ただし、この「グループ化」は要約ではなく、それを使用しない場合よりも多くの結果を示します。予期せぬ結果、そしてそのような理性の裏切り。

P粉497463473P粉497463473409日前654

全員に返信(1)返信します

  • P粉009186469

    P粉0091864692023-09-07 19:32:40

    GROUP BY を使用すると、クエリ結果には、GROUP BY 式の個別の値ごとに 1 行が含まれます。あなたの場合、PM.id の各値は 1 行になります。 MAX() などの集計関数の結果は、指定された値に関連付けられた各グループ内の行のサブセットに適用されます。

    GROUP BY を使用しない場合、結果は実際にはグループになるため、クエリは 1 行のみを返します。集計関数は行のセット全体に適用されます。

    https://dev.mysql.com/doc/refman /8.0/en/select.html その長いページの奥深くに次の文が含まれています:

    返事
    0
  • キャンセル返事