[解決済み】Oracle「Partition By」キーワード
2022-04-03 08:19:25
質問
について、どなたか説明してください。
partition by
キーワードの役割と簡単な動作例、そしてなぜこのキーワードを使いたいのかを教えてください。 他の人が書いたSQLクエリを持っているのですが、それが何をするものなのか理解しようとしています。
partition byの例。
SELECT empno, deptno, COUNT(*)
OVER (PARTITION BY deptno) DEPT_COUNT
FROM emp
ネットで見た例では、ちょっと深入りしすぎのような気がします。
どのように解決するのですか?
その
PARTITION BY
節では、各"GROUP"で使用されるレコードの範囲を設定します。
OVER
節があります。
例のSQLでは
DEPT_COUNT
は、すべての従業員レコードについて、その部署内の従業員数を返します。 (それはあたかも
emp
テーブルのすべてのレコードを返します。
emp
テーブル)
emp_no dept_no DEPT_COUNT
1 10 3
2 10 3
3 10 3 <- three because there are three "dept_no = 10" records
4 20 2
5 20 2 <- two because there are two "dept_no = 20" records
もし、他の列(例.
state
のように、その州にある部署の数をカウントすることができます。
の結果を取得するようなものです。
GROUP BY
(
SUM
,
AVG
など)を、結果集合の集約(すなわち、一致するレコードの削除)を行わずに行うことができます。
を使用すると便利です。
LAST OVER
または
MIN OVER
関数を使用して、たとえば部署内の最低給与と最高給与を取得し、それをこのレコードの給与に対する計算で使用します。
なし
を使用すると、より高速になります。
リンク先を読む AskTomの記事 をご覧ください。
関連
-
[解決済み】「パラメータ@objnameがあいまいか、主張する@objtype(COLUMN)が間違っています」を解決するにはどうすればよいですか?[重複している]。
-
[解決済み】単一のクエリで加重平均を計算する
-
[解決済み] エラー (ORA-00923: 期待された場所に FROM キーワードが見つかりませんでした)
-
[解決済み] エラー: 名前解析スクリプトで正しい関数に渡された長さのパラメーターが無効です。
-
[解決済み] Oracleの全テーブルのリストを取得しますか?
-
[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
-
[解決済み] SQL Server PARTITION BYとGROUP BYの違いについて
-
[解決済み] オラクル:テーブルが存在する場合
-
[解決済み】Oracleクエリが順序付け後に返す行数を制限するにはどうすればいいですか?
-
[解決済み】OracleでAUTO_INCREMENTでidを作成する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] varchar データ型から datetime データ型に変換すると、SQL クエリで範囲外の値が発生する
-
[解決済み】SQLが単一グループのグループ関数でないこと
-
[解決済み】一括読み込みデータ変換エラー(指定されたコードページに対して型の不一致または無効な文字)1行目4列目(年)について)
-
[解決済み】SQL Serverは「集約関数やサブクエリを含む式に対して集約関数を実行できない」が、Sybaseはできる。
-
[解決済み] ORA-04063: ビューにエラーがあります
-
[解決済み] mongoの外部キー?
-
[解決済み] DELETE文の競合REFERENCE制約
-
[解決済み] SQLエラーです。ORA-00922: オプションがないか無効です。
-
[解決済み] Presto の JSON_EXTRACT で ' ' 文字を含むキーに問題がある。
-
[解決済み] 1行目4列目(年)の一括読み込みデータ変換エラー(型の不一致または指定したコードページに対して無効な文字)