функции ?
Например в PostgreSQL и Vertica мы используем оконные функции чтоб вытащить "условно" только первый клик по его сессии
пример
SELECT * FROM (
SELECT
session_id,
price,
action_at,
RANK() OVER (PARTITION BY session_id ORDER BY action_at ASC) as rank
FROM (
VALUES (
'session_1',
0.42,
'2017-02-14 10:16:00'::timestamp
),
(
'session_dup_1',
0.84,
'2017-02-14 10:18:00'::timestamp
),
(
'session_dup_1',
0.42,
'2017-02-14 10:16:00'::timestamp
)
) _ (session_id, price, action_at)
) AS clicks WHERE clicks.rank = 1
RANK нет. Есть rowNumberInBlock, rowNumberInAllBlocks, но это совсем не то.
Обсуждают сегодня