تقرير مجموعة مستكشف البيانات - خطأ في المعلمة

كإضافة ممتعة إضافية بينما يتفحص إسحاق ذلك، يمكنك أيضًا استخدام المعلمة user_id للحصول على مربع معلمة إكمال تلقائي رائع. مثال:

-- [params]
-- user_id :user
-- int :min_days = 10

WITH consecutive_visits AS (
  SELECT user_id,
       visited_at,
       -- ستكون قيمة s هي نفسها لكل مجموعة من الأيام المتتالية
       visited_at - (DENSE_RANK() OVER (PARTITION BY user_id ORDER BY visited_at))::int s
    FROM user_visits
    WHERE user_id = :user
)

SELECT
MIN(visited_at) period_start,
COUNT(*) AS consecutive_days,
MAX(visited_at) period_end
FROM consecutive_visits
GROUP BY user_id, s
HAVING COUNT(*) >= :min_days
ORDER BY period_start DESC

5 إعجابات