SQLのDISTINCTとは
SQLのDISTINCTは、クエリの結果セットから重複した値を削除するために使用されます。
結果セット内の列の値を一意にするために使用します。
DISTINCTの使用例
以下は、DISTINCTの使用例です。
SELECT DISTINCT 列名
FROM テーブル名
例えば、以下のようなテーブルがあるとします。
テーブル名: Customers
| ID | Name | City |
|------|---------|---------|
| 1 | John | Tokyo |
| 2 | Mary | Paris |
| 3 | John | London |
| 4 | David | Tokyo |
| 5 | Mary | Tokyo |
この場合、次のクエリを実行すると、重複した値が削除された一意の名前を含む結果セットが返されます。
SELECT DISTINCT Name
FROM Customers
結果は以下のようになります。
| Name |
|--------|
| John |
| Mary |
| David |
DISTINCTキーワードは、特定の列の値の一意性を確保するために使用されますが、複数の列を指定することもできます。例えば、次のクエリは、名前と都市の組み合わせの一意性を確保します。
SELECT DISTINCT Name, City
FROM Customers
DISTINCTキーワードは、クエリ結果の一意性を制約するために便利ですが、結果セットの処理にはパフォーマンスの影響がある場合もあります。大規模なデータセットでは、パフォーマンスの向上のために代替のアプローチを検討する必要があります。
DISTINCTとGROUP BYの違い
DISTINCTとGROUP BY句は、重複した値を除去するために使用され同様の結果を返すこともできますが、使い方や目的は異なります。
DISTINCT
DISTINCTは、指定した列の重複した値を除去して一意の値のみを取得するために使用されます。
重複したレコードを削除し、ユニークな値のみを取得する場合に使用します。例えば、CUSTOMERSテーブルから一意の顧客IDのリストを取得するために、以下のようなクエリを使用できます。
SELECT DISTINCT CustomerID
FROM Orders
結果は、重複するCustomerIDが除去された一意の値のみが表示されます。
GROUP BY
GROUP BY句は、データを指定した列(または列の組み合わせ)に基づいてグループ化します。
グループごとに集計関数(SUM、COUNT、AVGなど)を使用して統計情報を計算することができます。GROUP BYを使用すると、グループごとの集計結果を取得することができます。
例えば、顧客ごとの合計注文金額を計算するために、CUSTOMERSテーブルからデータを取得する場合、以下のようなクエリを使用できます。
SELECT CustomerID, SUM(TotalAmount) AS Total
FROM Orders
GROUP BY CustomerID
結果は、各顧客ごとの合計注文金額が表示されます。
GROUP BYについてこちらで解説しておりますのでご参考ください。
GROUP BY句はデータをグループ化して統計情報を計算するために使用され、DISTINCTは重複した値を除去して一意の値を取得するために使用されます。GROUP BYは集計とグループ化が必要な場合に使用し、DISTINCTは重複値の排除が必要な場合に使用します。
その他SQL文法関連記事
そのほか、SQL関連記事をこちらにまとめておりますのでご参考ください。
> Coffee Tech Blog SQL関連記事
参考になれば幸いです☕
コメント