Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SQL的队列表_Sql_Netezza - Fatal编程技术网

使用SQL的队列表

使用SQL的队列表,sql,netezza,Sql,Netezza,我有一篇文章解释了使用SQL进行客户保留分析的指南 我已经应用了解释过的SQL代码,但我总是会出错 下面的代码应该指出分析客户保留率的队列表是通过使用队列,并通过每个用户的第一次访问来定义他们,然后查看他们随时间的推移如何返回的:第一个月,新用户,保留月,保留,保留百分比 WITH first_visit AS (SELECT SUBS_ID, min(date_trunc('month', (CUST_LOCAL_START_DATE::DATE))) AS f

我有一篇文章解释了使用SQL进行客户保留分析的指南 我已经应用了解释过的SQL代码,但我总是会出错

下面的代码应该指出分析客户保留率的队列表是通过使用队列,并通过每个用户的第一次访问来定义他们,然后查看他们随时间的推移如何返回的:第一个月,新用户,保留月,保留,保留百分比

WITH first_visit AS
    (SELECT SUBS_ID,
           min(date_trunc('month',  (CUST_LOCAL_START_DATE::DATE))) AS first_month
    FROM ANALYTICS.tmp.Rate_Plan_Hierarchy
    GROUP BY 1
),
New_users AS
    (SELECT first_month,
           count(DISTINCT SUBS_ID) AS new_users
    FROM first_visit
    GROUP BY 1)             
SELECT first_month,
       new_users,
       retention_month,
       retained,
       retention_percent
FROM   (SELECT first_month,
               new_users,
              ( visit_tracker.visit_month - visit_log.visit_month ) AS
              retention_month,
              Count(DISTINCT visit_tracker.SUBS_ID) 
AS            
              retained,
              Count(DISTINCT visit_tracker.SUBS_ID)/new_users 
AS 
              retention_percent
        FROM ANALYTICS.tmp.Rate_Plan_Hierarchy visit_log
     LEFT JOIN ANALYTICS.tmp.Rate_Plan_Hierarchy  AS visit_tracker
            ON visit_log.SUBS_ID = visit_tracker.SUBS_ID
             AND date_trunc('month', CAST (visit_log.CUST_LOCAL_START_DATE AS DATE)) < date_trunc('month', CAST (visit_tracker.CUST_LOCAL_START_DATE AS DATE))
              LEFT JOIN new_users
                 ON new_users.first_month = first_visit.first_month
GROUP BY 1,
         2)t
我猜错误就在这个区域,我无法从子句中捕捉到tbale应该在哪个位置,以及左Join应该在哪个位置

     LEFT JOIN ANALYTICS.tmp.Rate_Plan_Hierarchy  AS visit_tracker
            ON visit_log.SUBS_ID = visit_tracker.SUBS_ID
             AND date_trunc('month', CAST (visit_log.CUST_LOCAL_START_DATE AS DATE)) < date_trunc('month', CAST (visit_tracker.CUST_LOCAL_START_DATE AS DATE))
              LEFT JOIN new_users
                 ON new_users.first_month = first_visit.first_month

您是否检查过缺少/多余的逗号或不平衡的括号?准确的错误代码是什么?