تقرير أهم مصادر الزيارات شهرًا بشهر؟

WITH traffic_sources AS (
  SELECT
    EXTRACT(MONTH FROM user_visits.visited_at) AS month,
    incoming_referers.incoming_domain_id,
    COUNT(*) AS visit_count,
    LAG(COUNT(*)) OVER (PARTITION BY incoming_referers.incoming_domain_id ORDER BY EXTRACT(MONTH FROM user_visits.visited_at)) AS prev_month_visit_count
  FROM  user_visits
  JOIN  incoming_referers
  ON  user_visits.user_id = incoming_referers.id
  WHERE user_visits.visited_at IS NOT NULL
  GROUP BY EXTRACT(MONTH FROM user_visits.visited_at), incoming_referers.incoming_domain_id
)
SELECT
  month,
  incoming_domain_id,
  visit_count,
  prev_month_visit_count,
  visit_count - COALESCE(prev_month_visit_count, 0) AS change
FROM traffic_sources
ORDER BY month, incoming_domain_id

مرحباً، لقد عدت للتو من العشاء وقمت بتحديث الاستعلام؛ يمكنك تجربته، وإذا أحرزت أي تقدم، فيرجى إخباري :smiley:. خادم المناقشة الخاص بي هو خادم تم إنشاؤه حديثًا لذا لا توجد بيانات كافية للاستعلام، لقد أنشأت بعض البيانات الوهمية في SQL Server الخاص بي، ثم نقلتها إلى PGSQL.