問題タブ [recursive-cte]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
95 参照

row-number - 前の行のrow_number値を使用して位置の変更を計算します

ROW_NUMBER()現在の行と比較した前の行に基づいて位置の変化を計算しようとしていますROW_NUMBER()

私のクエリは、 ROW_NUMBER() OVER .. 句で再帰的な cte を使用しています。これにより、年ごとに結果の行番号がきちんと得られます。

この後、クエリは位置を比較して行番号間の変化を計算します。

残念ながら、[after] 位置は常に null であるため、これは機能しません。

これは説明が少し難しいので、sqlfiddle リンクを含めました: http://www.sqlfiddle.com/#!18/c7e57e/1

--

この画像は、私が達成しようとしていることを視覚的に説明しています 私の想定アウトプット

2011 年にミネソタは 1 位、2012 年にミネソタは 3 位、変化は +2

2011 年のアイオワは 6 位、2012 年のアイオワは 4 位で、変化は -2 です。

2011 年のサウスダコタ州は 5 位、2012 年のサウスダコタ州は 5 位で、変化は 0 です

ありがとうございました