Операция LAG SQL не работает в Amazon Redshift - PullRequest
0 голосов
/ 20 сентября 2018

Я получаю сообщение об ошибке:

Синтаксическая ошибка: на или около "," Строка: 4 Позиция: 3

на Periscope при попытке создать отслеживание для сеансов из Amazon Redshift.Кажется, что операция LAG выдает ошибку, когда я пытаюсь просто запросить id, метку времени и операцию LAG.

    SELECT 
      id 
      , timestamp
      , SUM(is_new_session) OVER (ORDER BY id, timestamp) AS global_session_id
      , SUM(is_new_session) OVER (PARTITION BY id ORDER BY timestamp) AS user_session_id
     FROM (SELECT -- creates session
            id
            , timestamp 
            , CASE 
               WHEN EXTRACT('EPOCH' FROM timestamp) - EXTRACT('EPOCH' 
                 FROM last_event) >= (60 * 10) OR last_event IS NULL THEN 1 
               ELSE 0 
               END AS is_new_session
           FROM (SELECT                      
                  id 
                  , timestamp
                  , LAG(timestamp,1) OVER (PARTITION BY id ORDER BY timestamp) AS last_event
                 FROM ios.tracks) last
           ) final

1 Ответ

0 голосов
/ 20 сентября 2018

timestamp - зарезервированное слово.Вероятно, необходимо всегда указывать его как "timestamp" или использовать другое имя для столбца.

https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html

...