ホームページ よくある問題 Oracleでのdistinctの使用法は何ですか?

Oracleでのdistinctの使用法は何ですか?

Jul 11, 2023 am 09:35 AM
oracle distinct

Oracle の独自の使用法により、結果セット内の重複行をフィルタリングして、「SELECT」句で返される指定された列の値が一意であることを確認できます。構文は「SELECT DISTINCT カラム 1、カラム 2、カラム 3... テーブル名から」です。「distinct」は返された結果セットをソートし、「order by」と組み合わせて使用​​すると効率が向上します。

Oracleでのdistinctの使用法は何ですか?

#この記事の動作環境: Windows 10 システム、Oracle バージョン 19c、DELL G3 コンピューター。

Oracle Distinct の使用法

SELECT DISTINCT を使用すると、結果セット内の重複行をフィルタリングして、SELECT 句で指定された 1 つ以上の列の値が確実に一致するようにすることができます。個性的。 。

これを使用して、非重複レコードのすべての値を返すのではなく、非重複レコードの数を返すためにのみ使用してください。その理由は、distinct は二重ループ クエリによってのみ解決できるためであり、これは間違いなく、非常に大量のデータを含む Web サイトの効率に直接影響します。

distinct は返された結果セットを並べ替えるため、効率を向上させるために order by と組み合わせて使用​​することをお勧めします。

Oracle SELECT DISTINCT の使用法

SELECT DISTINCT ステートメントの構文は次のとおりです。

SELECT DISTINCT
    column_1
        FROM
    table_name;
ログイン後にコピー

上記の構文では、column_1 の値がtable_name テーブルの列は、重複をフィルターするために比較されます。

複数の列に基づいて一意のデータを取得するには、次のように SELECT 句で列のリストを指定するだけです:

SELECT DISTINCT column_1,
    column_2,
        ...
        FROM
    table_name;
ログイン後にコピー

この構文では、column_1、column_2、および column_n の値が組み合わせは、データの一意性を判断するために使用されます。

DISTINCT 句は、SELECT ステートメントでのみ使用できます。

Oracle では DISTINCT と UNIQUE に違いはないことに注意してください。これらは同義語です。DISTINCT は ANSI 標準に従い、UNIQUE は Oracle 固有です。移植の観点からは、次の DISTINCT を使用することをお勧めします。 ANSI 規格。

Oracle DISTINCT の例

SELECT DISTINCT の使用例をいくつか見て、その動作を確認しましょう。

1. Oracle DISTINCT の簡単な例

以下は表です

字段1     字段2
 id       name
 1         a
 2         b
 3         c
 4         c
 5         b
ログイン後にコピー

1 つのステートメントを使用して、重複しない名前を持つすべてのデータをクエリする場合は、個別の重複レコードを使用する必要があります。冗長な重複レコードを削除します。最初に次のように入力します:

select *, count(distinct name) from table group by name
ログイン後にコピー

次に、次のように入力します:

id name count(distinct name)
ログイン後にコピー

そして結果を取得します:

1 a 1
2 b 1
3 c 1
ログイン後にコピー

2. 列

に適用される Oracle DISTINCT の例すべての連絡先の名前を取得する例:

SELECT first_name
FROM contacts
ORDER BY first_name;
ログイン後にコピー

上記のクエリ ステートメントを実行すると、次の結果が得られます:

Oracleでのdistinctの使用法は何ですか?

クエリは 319 行を返しました。 、連絡先 (contacts) テーブルに 319 行があることを示します。

一意の連絡先名を取得するには、以下に示すように、上記の SELECT ステートメントに DISTINCT キーワードを追加できます。

Oracleでのdistinctの使用法は何ですか?

クエリで返された行 302 は、次のことを意味します。連絡先テーブルの 17 行は重複しており、フィルターされています。

2. Oracle DISTINCT アプリケーションの複数列の例

下の order_items テーブルを見てください。テーブルの構造は次のとおりです:

Oracleでのdistinctの使用法は何ですか?

次のステートメントは order_items からのものです。テーブル内の異なる製品 ID と数量を選択してください:

SELECT
    DISTINCT product_id,
    quantity
FROM
    ORDER_ITEMS
ORDER BY product_id;
ログイン後にコピー

上記のクエリ ステートメントを実行すると、次の結果が得られます

Oracleでのdistinctの使用法は何ですか?

この例では、product_id 列と数量列の値を使用して、結果セット内の行の一意性を評価します。

3. Oracle DISTINCT と NULL

DISTINCT は、NULL 値を重複値として扱います。 SELECT DISTINCT ステートメントを使用して、複数の NULL 値を持つ列のデータをクエリする場合、結果セットには NULL 値が 1 つだけ含まれます。

サンプル データベースの location テーブルを参照してください。構造は次のとおりです。

Oracleでのdistinctの使用法は何ですか?

次のステートメントは、状態から複数の NULL 値を含むデータを取得します。列:

SELECT DISTINCT state
FROM locations
ORDER BY state NULLS FIRST;
ログイン後にコピー

上記のコード例を実行すると、次の結果が得られます:

Oracleでのdistinctの使用法は何ですか?

上の図からわかるように、NULL 値のみが返されます。 。

以上がOracleでのdistinctの使用法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Oracle データベースのログはどのくらいの期間保存されますか? Oracle データベースのログはどのくらいの期間保存されますか? May 10, 2024 am 03:27 AM

Oracle データベース ログの保存期間は、次のようなログのタイプと構成によって異なります。 REDO ログ: 「LOG_ARCHIVE_DEST」パラメータで構成された最大サイズによって決定されます。アーカイブ REDO ログ: 「DB_RECOVERY_FILE_DEST_SIZE」パラメータで構成された最大サイズによって決まります。オンライン REDO ログ: アーカイブされず、データベースの再起動時に失われます。保持期間はインスタンスの実行時間と一致します。監査ログ: 「AUDIT_TRAIL」パラメータによって構成され、デフォルトで 30 日間保持されます。

Oracleで2つの日付の間の日数を計算する関数 Oracleで2つの日付の間の日数を計算する関数 May 08, 2024 pm 07:45 PM

2 つの日付の間の日数を計算する Oracle の関数は DATEDIFF() です。具体的な使用法は次のとおりです。 時間間隔の単位を指定します: 間隔 (日、月、年など) 2 つの日付値を指定します: date1 と date2DATEDIFF(interval, date1, date2) 日数の差を返します。

Oracle データベースの起動手順の順序は次のとおりです。 Oracle データベースの起動手順の順序は次のとおりです。 May 10, 2024 am 01:48 AM

Oracle データベースの起動シーケンスは次のとおりです。 1. 前提条件を確認します。 3. データベース インスタンスを起動します。 5. データベースに接続します。サービスを有効にします (必要な場合)。 8. 接続をテストします。

オラクルで間隔を使用する方法 オラクルで間隔を使用する方法 May 08, 2024 pm 07:54 PM

Oracle の INTERVAL データ型は、時間間隔を表すために使用されます。構文は INTERVAL <precision> <unit> です。INTERVAL の演算には、加算、減算、乗算、除算を使用できます。これは、時間データの保存などのシナリオに適しています。日付の差を計算します。

Oracle で特定の文字の出現数を確認する方法 Oracle で特定の文字の出現数を確認する方法 May 09, 2024 pm 09:33 PM

Oracle で文字の出現数を確認するには、次の手順を実行します。 文字列の全長を取得します。 文字が出現する部分文字列の長さを取得します。 部分文字列の長さを減算して、文字の出現数をカウントします。全長から。

Oracle データベース サーバーのハードウェア構成要件 Oracle データベース サーバーのハードウェア構成要件 May 10, 2024 am 04:00 AM

Oracle データベース サーバーのハードウェア構成要件: プロセッサ: マルチコア、少なくとも 2.5 GHz のメイン周波数 大規模なデータベースの場合は、32 コア以上が推奨されます。メモリ: 小規模データベースの場合は少なくとも 8 GB、中規模のデータベースの場合は 16 ~ 64 GB、大規模なデータベースまたは重いワークロードの場合は最大 512 GB 以上。ストレージ: SSD または NVMe ディスク、冗長性とパフォーマンスのための RAID アレイ。ネットワーク: 高速ネットワーク (10GbE 以上)、専用ネットワーク カード、低遅延ネットワーク。その他: 安定した電源、冗長コンポーネント、互換性のあるオペレーティング システムとソフトウェア、放熱と冷却システム。

Oracle にはどれくらいのメモリが必要ですか? Oracle にはどれくらいのメモリが必要ですか? May 10, 2024 am 04:12 AM

Oracle が必要とするメモリーの量は、データベースのサイズ、アクティビティー・レベル、および必要なパフォーマンス・レベル (データ・バッファー、索引バッファーの保管、SQL ステートメントの実行、およびデータ・ディクショナリー・キャッシュの管理) によって異なります。正確な量は、データベースのサイズ、アクティビティ レベル、および必要なパフォーマンス レベルによって影響されます。ベスト プラクティスには、適切な SGA サイズの設定、SGA コンポーネントのサイズ設定、AMM の使用、メモリ使用量の監視などが含まれます。

Oracleで文字列を置換する方法 Oracleで文字列を置換する方法 May 08, 2024 pm 07:24 PM

Oracle で文字列を置換する方法は、REPLACE 関数を使用することです。この関数の構文は、REPLACE(string, search_string, replace_string) です。使用手順: 1. 置換する部分文字列を特定します。 2. 部分文字列を置換する新しい文字列を決定します。 3. REPLACE 関数を使用して置換します。高度な使用法には、複数の置換、大文字と小文字の区別、特殊文字の置換などが含まれます。