の複製
すでにここで説明されています
それでもここで聞きたい場合
よくグループ化して区別することには、独自の用途があります。
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
これがお役に立てば幸いです。