У меня есть таблица, которая регистрирует одну строку данных на пользователя в день со столбцом user_id.Я хотел бы выбрать все дни из n случайных пользователей, но таблица невероятно велика, поэтому я бы хотел избежать самостоятельного объединения.
Сейчас я делаю:
SELECT
a.user_id, b.col1, b.col2, b.col3
FROM
(
SELECT DISTINCT
user_id
FROM
pipeline.user_daily
ORDER BY
RANDOM() LIMIT 100) a
LEFT JOIN
pipeline.user_daily b
ON
a.user_id = b.user_id
Есть ли способ сделать это с помощью оконной функции или любого другого несамостоятельного объединения?
На несвязанной заметке приведенная выше внутренняя таблица a фактически не работает в vertica, поэтому я использую
SELECT
user_id
FROM
pipeline.user_daily
GROUP BY
user_id
ORDER BY
RANDOM() LIMIT 100
Есть мысли о том, почему случайный выбор определенного порядка не работает в Vertica?