각 그룹별 Topic3의 갯수를 가져오는 쿼리가 있습니다.
그룹은 Topic1, Topic2, Topic3 으로 나누어져 있으며
이때 각 Topic1 그룹별 전체 갯수가 몇개인지 표현이 필요해서 SUM(CntTopic3) as 'TotalCnt' 라는 행을 추가 했는데
이 부분에서 자꾸 오류가 나네요...
좀 도와주세요 ㅠ_ㅠ
SELECT
Topic1,
SUM(CntTopic3) as 'TotalCnt',
Topic2,
Topic3,
COUNT(*) as 'CntTopic3'
FROM
PosterIFOS2013 LEFT JOIN tblTopic ON PosterIFOS2013.Topic = tblTopic.Topic3
WHERE
Country = 'Poland'
GROUP BY
Topic1,
Topic2,
Topic3
ORDER BY
Topic1,
Topic2,
Topic3
SUM(CntTopic3) 에서 CntTopic3 은 같은 절에 있는 COUNT(*) as 'CntTopic3' 를 사용하신건데 이건 바로 사용하실수 없습니다.
물론 SUM(COUNT(*) ) 또한 사용하실수 없구요..
SUM(CntTopic3) as 'TotalCnt' 를 뺀 쿼리를 인라인 뷰나 with구문으로 먼저 만드시고 그걸 가지고 쿼리를 한번더 하시면 됩니다.
2005이상이시면
select *
, sum(CntTopic3) over(partition by 1) as 'TotalCnt'
from ( 인라인뷰.....) r