سجلات البحث - كيفية الحصول على قائمة كاملة لفترة زمنية معينة؟

أعتقد أن شيئًا كهذا سيكون أفضل:

-- [params]
-- date :start_date
-- date :end_date


WITH results AS (


SELECT LOWER(term) AS term,
       COUNT(*) AS searches,
       SUM(CASE WHEN search_result_id IS NOT NULL THEN 1 ELSE 0 END) AS click_through
FROM search_logs
WHERE created_at BETWEEN :start_date AND :end_date
GROUP BY term

)


SELECT term AS "مصطلح البحث",
       searches AS "عمليات البحث",
       click_through AS "النقرات",
       CEIL ((click_through/searches::float) * 100) || '%' AS "نسبة النقر إلى الظهور"
FROM results
ORDER BY searches DESC

آمل أن يساعد هذا، ولكن أخبرني إذا كنت تريد أي تعديلات. :slight_smile:

5 إعجابات