Примените условие для определенной группы: SQL - PullRequest
0 голосов
/ 03 февраля 2020

В настоящее время я должен предоставить отчет в BigQuery для Google Analytics в формате:

ClientID, SessionID, Source, Medium SessionNumber

Итак, результат имеет быть таблицей, в которой для каждого ClientID SessionNumber содержит порядковый номер произошедшего события, отсортированный по дате

Проблема: , во время одного сеанса происходит преобразование. Поэтому SessionNumber значения для конкретного ClientID не заканчиваются в том случае, когда происходит преобразование. [ Например, в ClientID = 1 есть 30 событий, и преобразование происходит в 15-м событии (порядковый номер из SessionNumber) ]

Мой вопрос: как удалить все данные в таблице после порядкового номера в SessionNumber , когда происходит преобразование? Таким образом, станет возможным увидеть, когда произошел последний щелчок, и увидеть вспомогательное преобразование? Как применить условие для определенной группы данных (для каждого идентификатора клиента , в данном случае - ПОМНИТЕ, что здесь для каждого ClientID у нас есть определенное количество событий и соответствующих порядковые номера)

Пример:

Client ID | SessionID | Source | Medium | SesionNumber | Goal Achieved (1 if yes) 
        1 |        456| google |   cpc  |            1 |                       0
        1 |        456| google |   cpc  |            2 |                       0
        1 |        456| google |   cpc  |            3 |                       1
        1 |        456| google |   cpc  |            4 |                       0
        2 |        234|  ...       ...             ...                       ...
       ...         ...   ...       ...             ...                       ...

Итак, мне нужно избавиться от всех строк после SessionNumber , когда происходит преобразование внутри каждого ClientID (преобразование происходит после достижения цели - я уже создал такой код) . Существует ли какой-либо синтаксис для стандарта SQL, который позволил бы создать такое условие для каждого ClientID ?

Дело в том, что внутри одного сеанса может происходить преобразование, и после этого пользователь может делать и другие вещи, но мне нужны только записи с начала сеанса, пока преобразование не произойдет

Я хотел бы вернуть таблицу (из примера):

Client ID | SessionID | Source | Medium | SesionNumber | Goal Achieved (1 if yes) 
        1 |        456| google |   cpc  |            1 |                       0
        1 |        456| google |   cpc  |            2 |                       0
        1 |        456| google |   cpc  |            3 |                       1
        2 |        234|  ...       ...             ...                       ...
       ...         ...   ...       ...             ...                       ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...