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

Oracleで先行とはどういう意味ですか?

    あなたは明らかにテーブルTをクエリしています 列WIN_30_DURを使用 、AGENT_MASTER_ID およびROW_DT (とりわけ)。 OVERのようなキーワードは 、PARTITION 分析リクエストを使用していることを示します。このようなリクエストを使用すると、他の行から現在の行に関する情報を取得できます。これは、GROUP BYで記述するのが複雑で時間がかかります。 またはその他の「標準」条項。

    ここで、特定の行で、次のことを行います。

    • グループ(PARTITION )by AGENT_MASTER_ID :これはTのすべての行を取得します 現在のAGENT_MASTER_IDを使用
    • 形成されたパーティションでORDER ROW_DTによる行
    • この順序により、現在のROW_DTの前の30行を選択できます。 :これはPRECEDINGの意味です キーワード(0 現在の行を選択します。反対はFOLLOWINGです。 条項)
    • 次に、WIN_30_DURで合計を計算します フィールド

    通常の言語では、これは次のような意味になります。エージェントごとに、過去30日間の期間の合計を取ります。



    1. UTL_FILE.FOPEN()プロシージャがディレクトリのパスを受け入れていませんか?

    2. MySQLクエリを記述して、必要な結果を取得します

    3. @Versionを休止すると、データベースの外部キー制約が失敗します

    4. PostgreSQLでクエリの進行状況を追跡する方法は?