と同じですが、他の誰かがこのクエリを書いています。どのように動作しているか把握しようとしています。私はrow_number()
、partition by
、pivot
のようなすべてのことについて一般的な考えがありますが、それらをすべて一緒に理解することはできません。このクエリのオラクルの「Partition By」および「Row_Number」キーワードは、ピボット
:
select
d, p, s, a
from
(
select name,occupation, (ROW_NUMBER() OVER (partition by occupation order by name)) as rownumber from occupations
)
pivot
(
max(name)
for occupation
in ('Doctor' as d, 'Professor' as p, 'Singer' as s, 'Actor' as a)
)
order by rownumber;
これは上記のクエリが動作する入力テーブルである:
これはあたりとして正しいクエリによって生成された出力を、それ質問:
Jenny Ashley Meera Jane
Samantha Christeen Priya Julia
NULL Ketty NULL Maria
今、私はkにしたいですクエリーによって出力がどのように生成されるか、すなわち実行の流れと共に段階的にどのように生成されるかを示す。上記の状況に合った簡単な例の説明は非常に高く評価されます。前もって感謝します。
誰もがdownvoted、理由を言及してください –