فحص الحسابات المطابقة لعنوان IP

أعلم أنه في لوحة إدارة المستخدمين، يمكننا رؤية ما إذا كان هناك حساب آخر مرتبط بعنوان 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

يبدو أن هذا يعمل بشكل جيد بالنسبة لي، لم أكن أعرف عن إضافة مستكشف البيانات على الإطلاق.. شكرًا لك!