powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Небольшой запроc в bigquery
5 сообщений из 30, страница 2 из 2
Небольшой запроc в bigquery
    #39725962
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vedash,

Понятно, у Вас не Postgres, а видимо вот это .
Нужно разобраться как там с интервалами работать.

Вот так работает?
Код: sql
1.
SELECT DATETIME_ADD(DATETIME "2018-10-31 00:30:00", INTERVAL 1 DAY);
...
Рейтинг: 0 / 0
Небольшой запроc в bigquery
    #39725973
Vedash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел ЛузановVedash,

Понятно, у Вас не Postgres, а видимо вот это .
Нужно разобраться как там с интервалами работать.

Вот так работает?
Код: sql
1.
SELECT DATETIME_ADD(DATETIME "2018-10-31 00:30:00", INTERVAL 1 DAY);


Результат запроса на скриншоте внизу.
Получается, мне нужно изменить строку ?
Код: plsql
1.
2.
generate_series(
        TIMESTAMP '2018-09-01', TIMESTAMP '2018-09-30', INTERVAL 1 Day
...
Рейтинг: 0 / 0
Небольшой запроc в bigquery
    #39726014
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vedash,
Нужно проверить есть ли у вас функция generate_series и поддерживается ли конструкция lateral. Если нет, то нужно искать эквиваленты или по другому переписать запрос
...
Рейтинг: 0 / 0
Небольшой запроc в bigquery
    #39726246
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vedash,

Попробовал вчера Bigquery, у них есть бесплатная песочница.
Но если нужно вставить записи в таблицу - хотят денег.
Поэтому накидал запрос вместе с тестовыми данными:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
with installs as (
    select 1 as id, timestamp '2018-09-01' as ts union all
    select 2 as id, timestamp '2018-09-01' as ts union all
    select 3 as id, timestamp '2018-09-02' as ts union all
    select 4 as id, timestamp '2018-09-02' as ts union all
    select 5 as id, timestamp '2018-09-02' as ts
),
  logins as (
    select 1 as id, timestamp '2018-09-02' as ts union all
    select 1 as id, timestamp '2018-09-02' as ts union all
    select 3 as id, timestamp '2018-09-03' as ts union all
    select 3 as id, timestamp '2018-09-03' as ts union all
    select 2 as id, timestamp '2018-09-03' as ts
)
select i.ts as day, 
       count(distinct i.id) as new_users,
       count(distinct l.id) as returned_users,
       count(distinct l.id)/count(distinct i.id) as retention
from installs i left join logins l
    on i.id = l.id and l.ts = timestamp_add (i.ts, interval 1 day)
where 
    i.ts between timestamp '2018-09-01' and timestamp '2018-09-30'
group by i.ts
order by i.ts;



Осталось обрезать два тестовых набора в with и заменить id на uid и ts на _PARTITIONTIME.
Думаю справитесь.

А вообще интересно, почему из всего многообразия форумов на SQL.ru выбрали именно этот?
...
Рейтинг: 0 / 0
Небольшой запроc в bigquery
    #39726780
Vedash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел ЛузановVedash,

Попробовал вчера Bigquery, у них есть бесплатная песочница.
Но если нужно вставить записи в таблицу - хотят денег.
Поэтому накидал запрос вместе с тестовыми данными:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select i.ts as day, 
       count(distinct i.id) as new_users,
       count(distinct l.id) as returned_users,
       count(distinct l.id)/count(distinct i.id) as retention
from installs i left join logins l
    on i.id = l.id and l.ts = timestamp_add (i.ts, interval 1 day)
where 
    i.ts between timestamp '2018-09-01' and timestamp '2018-09-30'
group by i.ts
order by i.ts;



Осталось обрезать два тестовых набора в with и заменить id на uid и ts на _PARTITIONTIME.
Думаю справитесь.

А вообще интересно, почему из всего многообразия форумов на SQL.ru выбрали именно этот?
Сделал, всё работает, низкий поклон Вам :)
А на форум случайно попал)
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Небольшой запроc в bigquery
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]