sql >> データベース >  >> RDS >> Mysql

select max(...)...groupbyの機能をSQLで説明してください

    MAX()を使用する場合 GROUP BY 句は基本的に、最大値を決定するアイテムをグループ化する方法をクエリエンジンに指示します。最初の例では、1つの列のみを選択していたため、グループ化する必要はありませんでした。しかし、2番目の例では、複数の列がありました。したがって、最大値を見つけるために比較するものを決定する方法をクエリエンジンに指示する必要があります。

    idでグループ化するように指示しました 桁。これは、同じidを持つレコードを比較することを意味します 一意のidごとに最大値を指定します 。すべてのレコードには異なるidがあるため 、基本的にその条項では何もしませんでした。

    すべてのレコードをidでグループ化しました 1の (これは単一のレコードでした)、最大のidを持つレコードを返しました そのグループから(それはそのレコードでした)。 2についても同じことをしました 、3 、など。

    ここに示されている3つの列の場合、レコードをグループ化することが理にかなっている唯一の場所は、test_idです。 桁。このようなもの:

    SELECT MAX(id), title, test_id
    FROM images
    WHERE image IS NOT null 
    GROUP BY test_id
    

    これにより、test_idでグループ化されます。 、したがって、結果にはレコード6(最大のid)が含まれます。 test_idの場合 0)、4(最大のid test_idの場合 1)、および8(最大のid test_idの場合 2)。 test_idの3つの一意の値に基づいて、レコードをこれらの3つのグループに分割します。 列では、「最大」のidを効果的に見つけることができます 各グループ内。



    1. UTF-8文字エンコードの戦いjson_encode()

    2. AzureDataStudioでSQLServerエージェントジョブを見つける方法

    3. 日付を事前定義された形式と比較するplsql

    4. MySQL RAND()はどのくらいの頻度で使用できますか? / dev / randomを使用していますか?