teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

訂正

2019/12/09 06:54

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  売上ロットに対してウインドウ関数の**lag()**を用いて期間の範囲を作成し、その範囲での集計をとれば良いかと思います。
2
2
 
3
3
  ```SQL
4
- select CD, LOT, 最古売上月, sum(t2.売上額)
4
+ select CD, LOT, substr(最古売上月, 1, 7) 最古売上, sum(t2.売上額)
5
5
  from (
6
6
  select CD, LOT, 最古売上月
7
7
  , lag(最古売上月, 1, '0000/00/00')
@@ -11,5 +11,5 @@
11
11
  ) t1
12
12
  left join 売上トラン
13
13
  on t1.CD=t2.CD and t1.lag_最古売上月 < t2.売上日 and t2.売上日 <= t1.最古売上月
14
- group by CD, LOT, 最古売上月
14
+ group by CD, LOT, substr(最古売上月, 1, 7)
15
15
  ```

1

訂正

2019/12/09 06:54

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  売上ロットに対してウインドウ関数の**lag()**を用いて期間の範囲を作成し、その範囲での集計をとれば良いかと思います。
2
2
 
3
3
  ```SQL
4
- select CD, 最古売上月, sum(t2.売上額)
4
+ select CD, LOT, 最古売上月, sum(t2.売上額)
5
5
  from (
6
6
  select CD, LOT, 最古売上月
7
7
  , lag(最古売上月, 1, '0000/00/00')
@@ -11,5 +11,5 @@
11
11
  ) t1
12
12
  left join 売上トラン
13
13
  on t1.CD=t2.CD and t1.lag_最古売上月 < t2.売上日 and t2.売上日 <= t1.最古売上月
14
- group by CD, 最古売上月
14
+ group by CD, LOT, 最古売上月
15
15
  ```