Нераспознанное имя: visit_log, несмотря на наличие таблицы с именем visit_log в MYSQL - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь получить показатель удержания студентов, то есть количество студентов, которые вернулись, и я следую учебному пособию по statsblog https://statsbot.co/blog/customer-retention-analysis/

Я продолжаю получать эту ошибку Нераспознанное имя: visit_log , несмотря на то, что создал таблицу под названием visit_log с CTE. Я не знаю, почему возникает эта ошибка, и я сделал все возможное, чтобы ее исправить.

Я использую таблицу, которую можно воспроизвести ниже

studentid  session
 1         2013/2014
 2         2013/2014
 3         2013/2014
 1         2014/2015
 2         2014/2015
 3         2015/2016

Мой код this.

Visit_log AS (
  SELECT
    studentid,
    CAST(SUBSTR(session, 1, 4) AS numeric) AS visit_month,
  FROM
    totalscore
  GROUP BY
    1,
    2
  ORDER BY
    1,
    2),

  first_visit AS (
  SELECT
    studentid,
    MIN(visit_month) AS first_month
  FROM
    visit_log
  GROUP BY
    1),

  New_users AS (
  SELECT
    first_month,
    COUNT(DISTINCT studentid) 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.studentid) as retained,
       Count(DISTINCT visit_tracker.cust_id)/new_users as retention_percent

       from first_visit
       left join visit_log as visit_tracker
       on visit_log.studentid=visit_tracker.studentid
       and visit_log.visit_month < visit_tracker.visit_month
       left join new_users
       on new_users.first_month=first_visit.first_month
       group by 1,2)

Результирующая таблица должна быть в этом формате

result

...