顧客を含むテーブルがあり、顧客が特定の数の要求に達した、または超えた月を見つけたいと考えています。
テーブルには、各リクエストのタイムスタンプである customer_id があります。
私が探しているのは、顧客が 10000 件の要求に達したか、それを超えた月 (または日) です。現在の合計を取得しようとしましたが、これはうまくいきません。誰かがこれを行う方法を知っている場合に備えて、コードに残しました。
私が持っているものは次のとおりです。
SELECT
customer_id
, DATE_TRUNC(CAST(TIMESTAMP_MILLIS(created_timestamp) AS DATE), MONTH) as cMonth
, COUNT(created_timestamp) as searchCount
-- , SUM(COUNT (DISTINCT(created_timestamp))) OVER (ROWS UNBOUNDED PRECEDING) as RunningTotal2
FROM customer_requests.history.all
GROUP BY distributor_id, cMonth
ORDER BY 2 ASC, 1 DESC;
私が求めている表現は、このようなものです。
customer requests cMonth totalRequests
cust1 6000 2017-10-01 6000
cust1 4001 2017-11-01 10001
cust2 4000 2017-10-01 4000
cust2 4000 2017-11-01 8000
cust2 4000 2017-12-01 12000
cust2 3000 2017-12-01 3000
cust2 3000 2017-12-01 6000
cust2 3000 2017-12-01 9000
cust2 3000 2017-12-01 12000