파이썬에서 자기란 무엇인가: 실제 사례
파이썬에서 자기란 무엇인가: 실제 사례
이 자습서에서는 SQL 집계 함수에서 HAVING 절을 사용하거나 실행할 수 있는 몇 가지 방법에 대해 설명합니다 . SQL 집계 함수에서 이 절을 사용하면 데이터 요약에 큰 도움이 됩니다.
HAVING 절은 WHERE 문과 거의 유사하며 함께 실행될 수도 있습니다.
이 자습서를 진행하면서 예제를 제공하여 상관관계와 차이점에 대해 논의할 것입니다.
목차
SQL의 GROUP BY 및 WHERE 문
첫 번째 예에서는 아래 샘플 테이블을 사용하여 WHERE 절 과 GROUP BY를 실행하는 방법에 대해 설명합니다 . 집계 함수 단독으로는 사용할 수 없고 기존 열에만 WHERE 절을 사용할 수 있습니다.
값이 2 보다 큰 SaleAmount 열을 기반으로 제품의 총 판매액을 가져오려고 한다고 가정해 보겠습니다 . 결과를 얻으려면 명령이 다음과 같아야 합니다.
먼저 ProductName을 선택 하고 SaleAmount를 집계하여 TotalSales를 얻습니다 .
그런 다음 SaleAmount가 2 보다 큰 제품만 가져오려고 하므로 여기에서는 WHERE 문을 사용했습니다. 'GROUP BY ProductName' 명령은 ProductName 열 아래의 행을 하나로 그룹화함을 나타냅니다.
일련의 명령 을 실행 하면 ProductName 및 SaleAmount 열 아래의 모든 데이터 중에서 Bulb 및 Fan 만 표시되었음을 확인할 수 있습니다. SaleAmount가 2 보다 큰 유일한 회사였기 때문입니다 .
이 예에서 WHERE 문은 기존 열인 SaleAmount 로 결과를 필터링하기 위한 것 입니다 . 또한 WHERE 문은 GROUP BY 앞에 나타나며 집계 함수를 필터링하는 데 사용할 수 없습니다. 반면 HAVING 절은 GROUP BY 뒤에 나타나며 집계 함수 기반 필터링에 사용됩니다.
SQL의 GROUP BY 및 HAVING 절
이 예에서는 WHERE 문과 HAVING 절의 차이점을 보여드리겠습니다 . 결과를 비교하고 평가할 수 있도록 이전 예에서와 동일한 목표를 사용합니다.
먼저 아래 명령을 사용하여 총 판매량과 함께 제품을 표시해 보겠습니다. 보시다시피 첫 번째 명령은 여전히 WHERE 문을 실행하는 첫 번째 명령과 동일합니다.
처음 두 명령을 실행하면 다음과 같은 결과가 나타납니다.
이제 총 판매량이 5개 이상인 제품만 표시하고 싶다고 가정해 보겠습니다. WHERE 문은 기존 열에만 사용할 수 있으므로 사용할 수 없습니다. 따라서 집계 함수에서 필터링할 것이므로 HAVING 절을 사용해야 합니다 .
GROUP BY 이전에 사용된 WHERE 문과 달리 GROUP BY 이후에 HAVING 절을 사용하는 방법에 유의하십시오 . 이는 SQL이 HAVING 절을 평가하기 전에 레코드를 그룹화하기 때문입니다.
그런 다음 HAVING SUM(SaleAmount)>5 와 함께 해당 명령을 실행해 보겠습니다 . 총 가격이 5 보다 큰 제품만 가져오도록 지정하면 현재 결과 테이블에서 펜이 더 이상 표시되지 않음을 알 수 있습니다 . 합계가 5 미만이기 때문입니다 .
간단히 말해서 기존 열을 기반으로 테이블에서 데이터를 필터링하려는 경우 WHERE 절을 사용 하는 반면 집계 함수에서 데이터를 필터링하려는 경우 HAVING 절을 사용합니다 .
SSMS(SQL Server Management Studio)의 HAVING 및 WHERE 절
이제 SSMS( SQL Server Management Studio ) 에서 HAVING 절을 실행할 수 있는 방법을 논의하고 시연하여 진행하겠습니다 . 또한 예제를 제공하여 HAVING 절 과 WHERE 절의 차이점을 다룰 것입니다 .
아래는 샘플 데이터 SalesOrderHeader입니다. 이 데이터는 100개의 행으로 구성됩니다. 이 예에서는 TotalSale이 10000 보다 큰 CustomerID 로 TotalSale 을 가져오려고 합니다 . 총 판매액은 TotalDue 열 값 의 합계를 기준으로 합니다 .
먼저 위의 예를 기반으로 집계 함수를 필터링하려고 할 때 WHERE 절을 사용할 수 없는 이유를 설명하겠습니다 .
아래 이미지의 샘플 명령 세트를 사용할 것입니다. 보시다시피 기술적으로 첫 번째 예에서 사용한 것과 동일한 명령 세트가 있습니다.
그러나 집계 함수를 필터링할 때 WHERE 절을 단독 으로 사용할 수 없기 때문에 왼쪽 상단 모서리에 있는 실행을 클릭하면 오류가 발생합니다.
오류를 수정하려면 WHERE 절 대신 HAVING 절을 사용하여 결과를 필터링해야 합니다 . 새로운 명령 세트는 아래 이미지와 유사해야 합니다.
이제 오류가 수정되었으며 TotalSale 이 10000 보다 큰 CustomerID 당 결과가 포함된 것을 볼 수 있습니다 .
다시 말하지만 WHERE 절은 항상 GROUP BY 절 앞에 사용되는 반면 HAVING 절은 항상 GROUP BY 절 뒤에 사용됩니다 .
SQL에서 HAVING 절과 WHERE 절 모두 사용
이 예에서는 WHERE 및 HAVING 절을 동시에 사용하려고 한다고 가정해 보겠습니다 . TotalSale이 10000 보다 크지만 TerritoryID가 1 인 고객에 대해서만 CustomerID 별로 TotalSale 을 가져오도록 합시다 .
TerritoryID 가 1인 고객으로 결과를 필터링하려고 하므로 WHERE 절을 사용합니다 . 따라서 우리의 명령은 이전 명령과 같아야 합니다. 다시 한 번 GROUP BY 절 앞에 WHERE 절을 추가했습니다 .
지금은 이전 결과와 이 새로운 결과 간에 큰 차이를 볼 수 없습니다. 그러나 오른쪽 하단 모서리를 자세히 살펴보면 이전 데이터 행 505 개에 비해 이제 64개 행만 있습니다. 결과가 TerritoryID를 기준으로 필터링되기 때문입니다 .
결론
요약하면 WHERE 절은 기존 열에만 사용할 수 있습니다. 집계 함수로 필터링해야 하는 경우 HAVING 절을 대신 사용해야 합니다 .
SQL 집계 함수에서 HAVING 절을 사용 하고 HAVING 절과 WHERE 절을 함께 실행하는 방법을 연습하면 대량의 데이터나 레코드를 작업할 때 사용자에게 편리함을 제공할 수 있습니다.
SQL 집계 함수에서 HAVING 절을 사용하는 방법에 대한 충분한 정보와 이해를 제공했기를 바랍니다 . 이 주제 및 기타 관련 콘텐츠에 대해 더 알고 싶다면 아래 관련 링크 목록을 확인하십시오.
모두 제일 좋다,
하피즈
파이썬에서 자기란 무엇인가: 실제 사례
R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.
이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.
이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.
이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.
LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.
LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.
이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.
지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.
LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것