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

MySQL-GROUP BYとDISTINCTの違いは何ですか?

    の複製

    GROUP BYの間に違いはありますか?とDISTINCT

    すでにここで説明されています

    それでもここで聞きたい場合

    よくグループ化して区別することには、独自の用途があります。

    Distinctは、クエリ条件を満たすレコードから一意のレコードをフィルタリングするために使用されます。

    Group by句は、集計関数が実行されるデータをグループ化するために使用され、groupby句の列に基づいて出力が返されます。集計関数以外のselectクエリにあるすべての列は、Group by句の一部である必要があるなど、独自の制限があります。

    したがって、distinctとgroup by句によって同じデータが返される場合でも、distinctを使用する方が適切です。以下の例を参照してください

    select col1,col2,col3,col4,col5,col6,col7,col8,col9 from table group by col1,col2,col3,col4,col5,col6,col7,col8,col9
    

    と書くことができます
    select distinct col1,col2,col3,col4,col5,col6,col7,col8,col9 from table
    

    選択リストに列が多いと、作業が楽になります。ただし、同時に、上記の列と一緒にsum(col10)を表示する必要がある場合は、GroupByを使用する必要があります。その場合、distinctは機能しません。

    select col1,col2,col3,col4,col5,col6,col7,col8,col9,sum(col10) from table group by col1,col2,col3,col4,col5,col6,col7,col8,col9
    

    これがお役に立てば幸いです。



    1. Oracle Database 21c

    2. C#で部分SQLを字句解析する

    3. PHPMYSQL連想配列とテーブル

    4. null値で列を更新する方法