• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

CASE 문의 AVG() 문의

21.12.30 19:16 작성 조회수 538

0

안녕하세요~

AVG(CASE WHEN categoryid=1 THEN price ELSE NULL END)

CASE WHEN categoryid=1 THEN AVG(price) ELSE NULL END

두 case 문의 차이가 뭔지 알 수 있을까요?

 

답변 2

·

답변을 작성해보세요.

0

shy421님의 프로필

shy421

질문자

2022.01.12

SELECT CASE WHEN CategoryID='1' THEN Price

                  WHEN CategoryID='2' THEN Price

                   END

FROM Products

 

만약 이렇게 다중 CASE 문을 사용할때 아래 쿼리문을 사용하지 못한다면 어떻게 사용해야할까요?

 

SELECT CASE WHEN CategoryID='1' THEN sum(Price)

                  WHEN CategoryID='2' THEN sum(Price)

                   END

FROM Products

안녕하세요 shy 421님,
해당 쿼리로 확인하고 싶은 값이 각 카테고리 아이디별 가격 합계이신걸까요?
그렇다면 CategoryID를 기준으로 집계하여 Sum(Price)를 연산하시면 됩니다.

 

SELECT  CategoryID, CUM(Price)

FROM Products

GROUP BY CategoryID

0

안녕하세요 shy421님

해당 이슈에 대해 레퍼런스 찾아보았으나 2번째로 적어주신 코드에 대해서는 비슷한 용례나 관련 설명을 찾지 못했습니다. 아마 해당 플랫폼의 SQL 인터프리터 버그일 것으로 생각됩니다.

첫번째로 기재해주신 AVG(CASE) 퀴리가 특정 조건 내의 데이터 집계 방식에 대한 올바른 방법이며, 두번째와 같은 쿼리는 사용하지 않는 것이 맞습니다.

질문주셔서 감사합니다. 궁금증이 해결되셨길 바랍니다~