SQL 검토 - GROUP BY 쿼리

2016 단어 mysqlsql
GROUP BY 절은 주로 SQL의 집계 함수와 함께 사용됩니다. SQL의 집계 함수는 한 가지 주요 방식에서 단일 행 함수와 다릅니다. 단일 행 함수는 쿼리된 테이블 또는 뷰의 모든 행에 대해 단일 결과 행을 반환합니다. 집계 함수는 열의 값 집합에 대해 계산을 수행하고 단일 값을 반환합니다. SQL에서 가장 일반적인 5가지 집계 함수는 COUNT(), MAX(), MIN(), AVG(),SUM()입니다. 예를 들어 다음과 같이 정확히 들리는 대로 작동합니다.

select max(supply) from fruit_imports;


집계 함수와 단일 행 함수의 다른 주요 차이점은 "WHERE"절을 사용하여 단일 행 함수에서 정보를 필터링하는 동안 "HAVING"절을 사용하여 집계 함수 쿼리(예제 및 스크린샷)에서 정보를 필터링한다는 것입니다. 다가오고 있어, 걱정마)


위의 그래픽에서 GROUP BY 쿼리의 구조를 볼 수 있습니다.

아래 예제를 사용하여 GROUP BY 쿼리에 대해 논의할 것입니다.


집계되지 않은(MIN, MAX, COUNT, AVERAGE 또는 SUM이 아닌) 열은 GROUP BY 절에서 언급되어야 합니다. 아래 스크린샷을 참조하십시오.


위의 스크린샷에는 sum_supply 열과 state 열의 두 열이 있습니다. sum_supply 열은 집계 열이고 상태는 비집계 열입니다. 상태 열은 집계되지 않은 열이므로 GROUP BY 절에 포함된 열입니다.

갖는



Holding은 그룹 데이터를 필터링하는 데 사용됩니다. HAVING 절로 데이터를 필터링하는 경우 GROUP BY 절 뒤에 와야 합니다. HAVING은 WHERE 절 대신 집계 함수에 사용됩니다.

SELECT first_name, COUNT(*)
FROM employees
GROUP BY first_name
HAVING COUNT(*)>2;




스크린샷의 결과는 2번 이상 언급된 모든 직원 이름을 보여줍니다. 즉, 직원 이름의 전체 목록에는 Roslyns 3명과 Billies 3명이 있습니다.

읽어 주셔서 감사합니다! 이 유익한 정보를 바랍니다. 자유롭게 댓글, 설명 또는 추가해주세요 :)

좋은 웹페이지 즐겨찾기