分析関数

SQL 高速化の金言

BIサービス SQL高速化の仕組み SQL高速化 を考えてみます。 2つのレコードを接続するとき 例1 1万行の検査データ と 100行の 品目マスタデータ があり 検査データの 品目コードに 品目マスタの 品目名と標準原価をつなぐ。 方法 ①LEFT OUTER JOIN ②INNE…

SQL サブクエリの入れ子のサブクエリ ここまでできます。

必要に迫られて、Case When 内に サブクエリをいれてみました。 備忘でここに記します。 ----------------------------------- ,case when Cnt = (select count(distinct(Place)) PlaceCnt from [dbo]. [Table_xxxx] where InspstepsID = A.InspstepsID and …

SQL ROW_NUMBER() OVER(partition で欲しいデータを得る

同じ品物を何度も購入したとき、最安値は? 同じ品物を何度も購入したとき、最後に購入した時の価格は? など いろんな条件でデータが欲しくなります。 そんなとき、ROW_NUMBER() OVER(partition を使うと便利です。 元々のデータ 検索するコード SELECT * F…

SQL 累積を求める SUM() over (Partition By ** ROWS UNBOUNDED PRECEDING)

SQL で データ集計して、時系列のデータの累積を求める というテーマがあります。 つまり 開始から各行までの合計だったり、過去7回の累計で移動平均を求める など これまではストアドプロシジャのカーソル処理で1行づつ計算する方法を採っていました。 と…