ここから本文です

SQLについて

pgq********さん

2015/4/1618:00:09

SQLについて

SELECT c1, c2, c3, ROW_NUMBER() OVER(PARTITION BY c1, c2 ORDER BY XXX DESC) as sort_key FROM TABLE01

上記のSQLは何をしているのでしょうか

閲覧数:
292
回答数:
1

違反報告

ベストアンサーに選ばれた回答

ain********さん

2015/4/1623:53:07

PARTITION BY で連番を振るグループ分けを指定し、ORDER BY で連番を振る順番を指定します。
ここでは TABLE01 の c1 と c2 の組み合わせごとに XXX でソートして連番を振っています。

(c1, c2, c3, XXX)
(1,1,1,0)
(1,1,2,1)
(1,2,3,2)
(1,2,4,3)
(2,1,5,4)
(2,1,6,4)

からは

(c1, c2, c3, ROW_NUMBER)
(1,1,1,1)
(1,1,2,2)
(1,2,3,1)
(1,2,4,2)
(2,1,5,1)
(2,1,6,2)

の結果が得られます。

この回答は投票によってベストアンサーに選ばれました!

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる