0

顧客を含むテーブルがあり、顧客が特定の数の要求に達した、または超えた月を見つけたいと考えています。

テーブルには、各リクエストのタイムスタンプである 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
4

3 に答える 3