ORACLE操作 ORACLE機能

[ORACLE] 検索結果のグループ単位に件数を取得する(COUNT~OVER PARTITION BY)

投稿日:

GROUP BY句を使用せずに検索結果のグループ単位に件数を取得するには、
COUNT~OVER(PARTITION BY ~)句を使用します

サンプル

以下のテーブルを例とします。

【m_user】
USER_CDUSER_NMDEPT
101佐藤営業部
102田中開発部
103小林総務部
104池田営業部
105山下開発部
106阿部開発部

例)dept列単位の件数を取得する

(結果)
user_cd user_nm dept cnt -------- --------- -------- ----- 101 佐藤 営業部 2 102 田中 開発部 3 103 小林 総務部 1 104 池田 営業部 2 105 山下 開発部 3 106 阿部 開発部 3

解説

  • PARTITION BY句に複数列を条件としたい場合はカンマ区切りで指定すればOKです。
    例)COUNT(*) OVER(PARTITION BY col1, col2, col3)

スポンサーリンク

スポンサーリンク

-ORACLE操作, ORACLE機能

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

ORACLE

[ORACLE] CASE文でORA-00932が発生する場合

CASE文でORA-00932が発生する場合は、 分岐した結果の型が一致していない事が原因です。 サンプル 例えば、以下 ...
ORACLE

[ORACLE] 列にデフォルト値を設定/削除する

列にデフォルト値を設定/削除するには、ALTER TABLE~MODIFY句を使用します。 構文 (列にデフォルト値を設 ...
ORACLE

[PL/SQL] 直前に実行したSQLの処理件数を取得する(SQL%ROWCOUNT)

直前に実行したSQLの処理件数を取得するには、SQL%ROWCOUNTで取得できます。 サンプル 例)実行したUPDAT ...
ORACLE

[ORACLE] UNDO表領域名を調べる

UNDO表領域名を調べるサンプルです。 サンプル 例)UNDO表領域名を確認する [crayon-5da80886d16 ...
ORACLE

[データディクショナリ] 表の統計情報変更履歴を取得する

表の統計情報変更履歴を参照するには、XXX_TAB_STATS_HISTORYデータディクショナリビューを参照します。 ...

スポンサーリンク