대시보드 보고서 - 상위 추천 출처

이것은 최상위 추천자 대시보드 보고서의 SQL 버전입니다

이 보고서는 지정된 날짜 범위 내에서 게시물에 대한 유입 링크 클릭을 가장 많이 생성한 상위 사용자를 보여 줍니다.

이 보고서는 각 사용자가 받은 클릭 총수를 보여주는 것뿐만 아니라, 해당 클릭이 분산된 고유한 주제 수를 함께 표시합니다. 이를 통해 외부 출처에서 포럼으로 트래픽을 유도하는 사용자가 누구인지, 그리고 여러 토론에서 청중과 어떻게 상호작용하는지 이해하는 데 도움이 됩니다.

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

SELECT 
    il.user_id, 
    COUNT(*) Clicks,
    COUNT(DISTINCT p.topic_id) Topics
FROM incoming_links il
INNER JOIN posts p ON p.id = il.post_id
WHERE il.created_at::date BETWEEN :start_date AND :end_date
    AND il.user_id > 0
    GROUP BY il.user_id
ORDER BY 2 DESC

SQL 쿼리 설명

이 보고서에 사용된 SQL 쿼리는 다음 작업을 수행합니다:

  • 지정된 날짜 범위(:start_date부터 :end_date까지) 내에 생성된 레코드만 포함하도록 유입 링크 레코드(incoming_links)를 필터링합니다.
  • 유입 링크가 유효한 사용자와 연결되어 있는지 확인합니다(user_id < 0인 시스템 또는 익명 사용자는 제외).
  • 각 링크 클릭을 해당 주제와 연결하도록 incoming_links 테이블을 posts 테이블과 조인합니다.
  • 사용자별 데이터 집계를 위해 결과를 user_id별로 그룹화합니다.
  • 각 사용자의 유입 링크 클릭 총수(Clicks)와 고유 주제 수(Topics)를 집계합니다.
  • 상위 기여자를 식별하기 위해 클릭 총수 내림차순으로 결과를 정렬합니다.

매개변수

  • :start_date: 보고서를 생성할 날짜 범위의 시작일.
  • :end_date: 보고서를 생성할 날짜 범위의 종료일.

두 날짜 매개변수 모두 YYYY-MM-DD 형식을 받아들입니다.

결과 예시

사용자 ​ 클릭 ​ 주제
username_1 5241 97
username_2 1256 14
username_3 1242 12
… … …
4개의 좋아요