MSSQL 통계 질문드립니다! 0 1 2,763

by 튼실맨 [SQL Query] 통계 MSSQL [2023.11.10 17:36:39]


23232323.png (40,768Bytes)

안녕하세요 통계쿼리를 짜야 하는데 어려움을 겪어 질문드립니다.

우선 뽑아야 하는 데이터는 

법인

소속1

소속2

시청자수

이렇게구요

예를 들어 동영상 1개를 소속1 > 소속2 직원 4명이 시청했다면

순위  법인               소속1 > 소속2                  시청자수

1      법인명             소속1이름 > 소속2이름      4

 

이런식으로 출력되어야 합니다.

법인은 4개 정도가 있고, 소속1과 소속2는 수십개입니다

각 법인에 속한 소속1 소속2 사람들이 시청한횟수를 출력해야 합니다.

SELECT

corporationName

affiliation1,

affiliation2

COUNT(*) AS watchCount

FROM

이런식으로 짜려했는데 테이블을 어떻게 지정해야 할지 막막해서 질문 드렸고,

구조는 유저테이블에 법인 소속1 소속2가 있고,

동영상을 시청한 이력이 아래 사진과 같이 play_history 테이블에 저장됩니다.

playhistory테이블에있는 유저 ID로 소속1이랑 소속2는 조회할 수 있을 것 같은데

소속1 소속2 기준으로 출력을 못하겠습니다.

 

 

 

 

 

 

 

by 마농 [2023.11.13 01:03:46]
SELECT RANK() OVER(ORDER BY COUNT(*) DESC) rk
     , a.corporationName
     , a.affiliation1
     , a.affiliation2
     , COUNT(*) watchCount
  FROM user_tab a
 INNER JOIN playhistory b
    ON a.user_id = b.user_id
 GROUP BY a.corporationName, a.affiliation1, a.affiliation2
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입