MySQL初心者です。説明不足になるかもしれませんが、その際はご指摘いただけますと助かります。
■データテーブル
テーブルにあるカラムは以下です。
user_name
ユーザーのIDです。ユニークです。
purchase
購入金額です。
purchased_at
購入した時の時間です。2015-01-01 11:11:11という形です。
■質問内容
ユーザーごとに最初に購入した時間から30日間の合計購入金額を出したいと考えております。
以下のような構文で合計金額を出そうとしたのですがうまくいきません。
SELECT user_name,
SUM(purchase)
FROM テーブル名
WHERE purchased_at >= ANY (SELECT MIN(purchased_at) FROM テーブル名 GROUP BY user_name)
AND
purchased_at <= ANY (SELECT MIN(purchased_at) + INTERVAL 30 DAY FROM テーブル名 GROUP BY user_name)
GROUP BY user_name
;
現在までの合計がなぜか出てしまいます。
お手数をおかけいたしますが
ご教授いただければと思います。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/02 09:27