TECH I.S.

SQL SELECT DISTINCTステートメント


SQL SELECT DISTINCTステートメント

SELECT DISTINCTステートメントは、個別の (異なる) 値のみを返すために使用されます。

テーブル内では、列に多くの重複値が含まれることがよくあります。また、異なる (個別の) 値のみをリストしたい場合もあります。

SELECT DISTINCT構文


SELECT DISTINCT <em>column1</em>,<em> column2, ...</em> FROM <em>table_name</em>;



デモデータベース

以下は、Northwindサンプルデータベースの"Customers"テーブルからの選択です。

顧客ID

顧客名

連絡先

住所

郵便番号

1アルフレッド・フッターキステマリア・アンダースオベレ通り57ベルリン12209ドイツ
2アナ・トルヒーヨ サンドイッチとアイスクリームアナ・トルヒーヨコンスティトゥシオン通り2222番地メキシコDF05021メキシコ
3アントニオ・モレノ・タケリアアンソニー・モレノマタデロス 2312メキシコDF05023メキシコ
4アラウンドホーントーマス・ハーディ120 ハノーバー スクエアロンドンWA1 1DPイギリス
5バーグルンドのスーパーマーケットクリスティーナ・ベルグルンドベルグヴスヴェーゲン8ルレオS-958 22スウェーデン

DISTINCTを使用しないSELECTの例

次のSQL ステートメントは、"Customers"テーブルの"Country"列からすべての (重複を含む) 値を選択します。

SELECT Country FROM Customers;

自分で試してみる(開発準備中)»

では、SELECT DISTINCTステートメントと結果を参照してください。


SELECT DISTINCTの例

次のSQLステートメントは、"Customers"テーブルの"Country"列から DISTINCT値のみを選択します。

SELECT DISTINCT Country FROM Customers;

自分で試してみる(開発準備中)»

次のSQLステートメントは、さまざまな (異なる) 顧客の国の数を一覧表示します。

SELECT COUNT(DISTINCT Country) FROM Customers;

自分で試してみる(開発準備中)»

注: 上記の例は Firefox では機能しません!
COUNT(DISTINCT*column_name*) は、Microsoft Accessデータベースではサポートされていません。
この例では、FirefoxはMicrosoft Accessを使用しています。

MS Accessの回避策は次のとおりです。

SELECT Count(*) AS DistinctCountries FROM (SELECT DISTINCT Country FROM Customers);

自分で試してみる(開発準備中)»



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細