작성
·
768
0
안녕하세요~
AVG(CASE WHEN categoryid=1 THEN price ELSE NULL END)
와
CASE WHEN categoryid=1 THEN AVG(price) ELSE NULL END
두 case 문의 차이가 뭔지 알 수 있을까요?
답변 2
0
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
0
안녕하세요 shy421님
해당 이슈에 대해 레퍼런스 찾아보았으나 2번째로 적어주신 코드에 대해서는 비슷한 용례나 관련 설명을 찾지 못했습니다. 아마 해당 플랫폼의 SQL 인터프리터 버그일 것으로 생각됩니다.
첫번째로 기재해주신 AVG(CASE) 퀴리가 특정 조건 내의 데이터 집계 방식에 대한 올바른 방법이며, 두번째와 같은 쿼리는 사용하지 않는 것이 맞습니다.
질문주셔서 감사합니다. 궁금증이 해결되셨길 바랍니다~
안녕하세요 shy 421님,
해당 쿼리로 확인하고 싶은 값이 각 카테고리 아이디별 가격 합계이신걸까요?
그렇다면 CategoryID를 기준으로 집계하여 Sum(Price)를 연산하시면 됩니다.