電子書籍の厳選無料作品が豊富!

◆私のスキル

主に営業を担当してて、
データ抽出作業はマニュアルを見ながらやっとできるレベルです。

◆状況
一日(購入日ごと)の売上が入ったテーブルがあります。

会員ID(文字) 購入確定日時(文字yyyy-mm-dd hh-mm-ss) レシートナンバー(文字) 購入商品(文字) 購入個数(数字) 購入金額(数字) クーポン払(数字) パーティション(購入日 文字 yy-mm-dd)
※レシートナンバーはAさんが1度に購入した際に1意に付くものです。

◆やりたいこと
会員それぞれの1週間ごとの購入金額の合計を下記のようにまとめて出力したいです。

10月23日〜10月29日 10月30日〜11月5日 11月6日〜11月12日 ・・・
Aさん 200 3400 0  
Bさん 0 0 1200
Cさん 50000 0 1200

のような形式で考えています。

1週ごとの合計はマニュアルを見ながらやれたのですが
これではあまりにも時間がかかってしまうので
まとめて出力する方法が知りたいです。

やり方をご存じの方がいらっしゃったら
教えて下さい
よろしくおねがいします。


以前も同様の質問をしたのですが
何故かなくなっていましたので再度質問させていただきました

A 回答 (2件)

RDBはSQL Server で間違いないですね?



select ユーザー,
sum(case when (日付 between '2019-10-23' and '2019-10-29') then 1
else 0 end * 購入金額),
sum(case when (日付 between '2019-10-30' and '2019-11-05') then 1
else 0 end * 購入金額),
sum(case when (日付 between '2019-11-06' and '2019-11-12') then 1
else 0 end * 購入金額)
from テーブル
group by ユーザー
    • good
    • 1
この回答へのお礼

ありがとうございます。
クエリは回せそうです。

※クエリは回っているのですが、
負荷が大きいようでタイムアウトで止まってしまい
結果を見ることができず。

確認出来たら再度連絡しますね

お礼日時:2019/11/28 11:15

> 負荷が大きいようでタイムアウトで止まってしまい



インデックスを工夫するしかないかなと・・・
    • good
    • 1
この回答へのお礼

ありがとうございます。遅くなりましたがうまくできました!

お礼日時:2019/12/06 00:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す