Ниже для BigQuery Standard SQL
#standardSQL
SELECT day, user_id,
COUNT(1) total_conversions,
COUNT(DISTINCT user_id) deduped
FROM `project.dataset.table`
GROUP BY day, user_id
Если применить выше к образцу данных из вашего вопроса - результат будет
Row day user_id total_conversions deduped
1 3/4/19 1234 2 1
2 3/5/19 1 1 1
3 3/3/19 1234 3 1
4 3/3/19 12 2 1
Примечание: проверьте мои комментарии, которые я оставил под вашим вопросом!
Как насчет того, если бы у нас не было столбца даты в окончательном выводе, что если бы в коде было создано дедуплицированное правило, в котором группировка будет основана на uder_id без 'day'колонка в окончательном выводе?
Ниже приведен пример
#standardSQL
WITH `project.dataset.table` AS (
SELECT '3/3/19' day, 1234 user_id UNION ALL
SELECT '3/3/19', 1234 UNION ALL
SELECT '3/3/19', 1234 UNION ALL
SELECT '3/3/19', 12 UNION ALL
SELECT '3/3/19', 12 UNION ALL
SELECT '3/4/19', 1234 UNION ALL
SELECT '3/4/19', 1234 UNION ALL
SELECT '3/5/19', 1
)
SELECT user_id,
COUNT(1) total_conversions,
COUNT(DISTINCT day) deduped
FROM `project.dataset.table`
GROUP BY user_id
с результатом
Row user_id total_conversions deduped
1 12 2 1
2 1 1 1
3 1234 5 2