사용자 관리자에서 등록 IP나 마지막 로그인 IP를 클릭하면 해당 IP 주소에 다른 계정이 있는지 확인할 수 있다는 걸 알고 있습니다. 그런데 내 사용자들을 하나씩 확인하는 대신, 동일한 IP로 매칭된 모든 사용자를 한 번에 볼 수 있는 방법은 없을까요?
데이터 탐색기 쿼리입니다. 최신 생성일 기준으로 정렬할 수 있도록 GROUP BY를 사용하는 것이 더 좋겠지만, 일단 이 쿼리가 도움이 될 수 있습니다.
WITH users_per_ip AS (
SELECT
count(1) AS user_count,
u.registration_ip_address AS ip,
max(u.created_at) last_create,
min(u.created_at) first_create,
(max(u.created_at) - min(u.created_at)) diff,
case when (max(u.suspended_at) is not null
or max(u.silenced_till) is not null )
then 1 else 0 end bad
FROM users u
GROUP BY ip
)
SELECT
u.id AS user_id,
date_trunc('day',u.created_at)::date created,
date_trunc('day',upi.diff) days,
bad,
upi.ip AS ip_address
FROM users_per_ip upi
JOIN users u
ON u.registration_ip_address = upi.ip
WHERE upi.user_count > 1
ORDER BY upi.last_create DESC
저한테는 잘 동작하는 것 같습니다. Data Explorer 플러그인에 대해서는 전혀 몰랐네요. 감사합니다!