Мне нужно сделать отчет с зарегистрированными пользователями по диапазону дат, но без дубликатов в один и тот же день (если кто-то был зарегистрирован дважды в один и тот же день, мы не будем перечислять его дважды). к сожалению, мы храним информацию для входа в систему как json (да, я не могу изменить ее на отдельную таблицу, я не знаю, кто разработал эту базу данных).
Запрос на просмотр всех зарегистрированных пользователей:
select a.id, username, email, ah.modified as login_date
from accounts a join
account_history ah
on modified_acc_id = a.id
where ah.data::jsonb->>'message' = 'Logon';
Изменена метка времени с часовым поясом, и она используется в качестве даты входа.
Я нашел только примеры с количеством различных идентификаторов в день, но я не знаю, как изменить его, чтобы он возвращал разные результаты в день
пример данных:
id | username | email | login_date
-----+-------------------------+---------------------------------+----------------------------
102 | example | example@example.com | 2018-12-06 09:30:10.573+00
102 | example | example@example.com | 2018-12-06 09:32:34.235+00
42 | rafal | rafal@example.com | 2018-12-06 09:45:24.884+00
576 | john | john@example.com | 2018-12-06 09:35:24.922+00
576 | john | john@example.com | 2018-12-07 09:58:04.253+00
требуемые данные:
id | username | email | login_date
-----+-------------------------+---------------------------------+----------------------------
102 | example | example@example.com | 2018-12-06 09:30:10.573+00
42 | rafal | rafal@example.com | 2018-12-06 09:45:24.884+00
576 | john | john@example.com | 2018-12-06 09:35:24.922+00
576 | john | john@example.com | 2018-12-07 09:58:04.253+00
Так что, как видите, без второго ряда