0
私は過去3ヶ月間のデータを取得できるSQLクエリを作成しようとしています。具体的には、各顧客が過去3ヶ月間にどのくらいの額を費やしたかを確認したい。私の日付フィールドはタイムゾーン付きのタイムスタンプです(例:2017-07-14 00:56:43.833191 + 00 ")。最後のx月からデータを取得する方法Postgres Sqlクエリの日付フィールドはタイムスタンプですか?
私は過去90日間のデータを取得しようとしていませんが、現在、2017年7月14日の場合は、2017年4月1日から2017年6月30日までの間にデータを取得したいと考えています。
ここ3ヶ月が同じ年現在の日付が2017年2月15日であれば、2016年11月1日から2017年1月31日までのデータを返すことを希望します。
私の現在の質問です。何か助けていただきありがとうございます。ありがとう!
select sum(amount), customer_id
from payments
where (date_part('month',payment_date) < (date_part('month',current_timestamp)-1) and
date_part('month',payment_date) >= (date_part('month',current_timestamp)-3)) and
(date_part('year',date_created) = date_part('year',current_timestamp))
group by customer_id
素晴らしい - 魅力的なように働いた。 2016年11月に正常に戻るかどうかを確認するためにnow()をdate '2017-02-15'に変更してテストしました。ありがとうございました!! – Jacob
btw、これが許可されているか、別の質問を作成する必要があるかどうかはわかりませんが、フォローアップはどうすれば合計金額> 5かの結果のみを表示できますか?私がしようとすると、where節に集計関数を持つことができないというエラーが発生します。ありがとう! :) – Jacob
@Jacob。 。 。厳密に言えばそれは別の質問であるべきですが、答えは「合計(量)> 5」です。 –