요약:이 튜토리얼에서,당신은 당신을 사용하는 방법을 배울 것입니다 MySQLGROUP BY
그룹으로 행 하위 값을 기준으로 열 또는 식입니다.
소개 MySQL 그룹에 의해 절
GROUP BY
절 그룹의 집 행을 설정은 요약 행에 의해 값의 열 또는 식입니다. GROUP BY
절은 각 그룹에 대해 하나의 행을 반환합니다. 즉,결과 집합의 행 수를 줄입니다.,
자주 사용하는GROUP BY
절로 집계와 같은 기능을SUM
,AVG
,MAX
,MIN
,andCOUNT
. SELECT
절에 나타나는 집계 함수는 각 그룹에 대한 정보를 제공합니다.
GROUP BY
절은SELECT
문의 선택적 절입니다., 다음은GROUP BY
절 syntax:
GROUP BY
절에 나타나야 합 후FROM
및WHERE
절입니다. GROUP BY
키워드 다음에 행을 그룹화하는 기준으로 사용하려는 쉼표로 구분 된 열 또는 표현식 목록이 있습니다.,
MySQL evaluates the GROUP BY
clause after the FROM
, WHERE
and SELECT
clauses and before the HAVING
, ORDER BY
and LIMIT
clauses:
MySQL GROUP BY examples
Let’s take some example of using the GROUP BY
clause.,
A)예제에 의한 간단한 MySQL 그룹
샘플 데이터베이스의orders
테이블을 살펴 보겠습니다.,
하고 싶다고 가정하여 그룹의 값 순서의 상태로 부분군,당신이 사용하는GROUP BY
절status
열을 다음과 같이 쿼리:
Code language: SQL (Structured Query Language) (sql)
그것을 시도하고 Out
당신이 볼 수 있듯이, GROUP BY
절 반환한 항목의status
값입니다., 그것은 작품DISTINCT
운영자는 다음과 같이 쿼리:
Code language: SQL (Structured Query Language) (sql)
그것을 시도하고 Out
B)사용하여 MySQL 그룹에 의해 집계 기능
aggregate 기능을 수행 할 수 있도록 계산 집합의 행 단일 값을 반환합니다. GROUP BY
절에 자주 사용하는 집계 기능을 수행하는 계산과 단일 값을 반환에 대한 각 부분군.,
경우,예를 들어,당신은 알고 싶어 주문 번호에서 각각 상태를 사용할 수 있습니다COUNT
기능을 가진GROUP BY
절을 다음과 같다:
Code language: SQL (Structured Query Language) (sql)
그것을 시도하고 Out
다음과 같은orders
및orderdetails
테이블.,
을 얻을 수의 총량은 모두에 의해 주문 상태 가입orders
테이블과 함께orderdetails
테이블을 사용하는SUM
기능을 계산하는 총 금액입니다. 다음과 같은 쿼리:
Code language: SQL (Structured Query Language) (sql)
그것을 시도하고 Out
마찬가지로,다음과 같은 쿼리를 반환합니다 번호를 주문하고 총 금액 각각의 순서입니다.,
Code language: SQL (Structured Query Language) (sql)
그것을 시도하고 Out
C)MySQL 그룹에 의해 식으로 예
이외에 열,그룹화할 수 있습니다 행 식입니다. 다음 쿼리는 매년 총 매출을 가져옵니다.
그것을 시도하고 Out
이 예제에서,우리가 사용하는YEAR
기능을 추출물 년에서 데이터 주문일(orderDate
)., 총 판매량에shipped
상태가있는 주문 만 포함 시켰습니다. 참고는 표현에 나타나는SELECT
절이 같아야 하는GROUP BY
clause.
D)MySQL 을 사용하여 그룹과 함께하는 데 절 예
를 필터링 그룹에 의해 반환되는GROUP BY
절을 사용하는HAVING
clause. 다음 쿼리는HAVING
절을 사용하여 2003 년 이후의 총 판매량을 선택합니다.,
Code language: SQL (Structured Query Language) (sql)
그것을 시도하고 Out
그룹에 의해 절: MySQL 대 표준 SQL
표준 SQL 허용하지 않는 별칭을 사용하는GROUP BY
clause,그러나,MySQL 지원합니다.
예를 들어 다음 쿼리는 주문 날짜에서 연도를 추출합니다. 그것은 첫 번째 사용하는year
별칭으로 표현의YEAR(orderDate)
그리고 사용하는year
별칭에서GROUP BY
clause., 이 쿼리는 표준 SQL 에서 유효하지 않습니다.
그것을 시도하고 Out
MySQL 또한 정렬 할 수 있습 그룹에서 내림차순 또는 오름차순 주문하는 동안 표준 SQL 하지 않습니다. 기본 순서는 오름차순입니다., 예를 들어,당신이 얻고 싶은 경우에는 숫자에 의해 주문 상태와 종류의 상태에서 내림차순으로 사용할 수 있습니다GROUP BY
절DESC
다음과 같이 쿼리:
Code language: SQL (Structured Query Language) (sql)
그것을 시도하고 Out
통지 우리가 사용하는DESC
GROUP BY
절을 정렬status
내림차순으로., 우리는 또한 명시적으로 지정ASC
GROUP BY
절 정렬하는 그룹이 상태에 의해 오름차순으로 정렬됩니다.
이 튜토리얼에서는,우리는 당신이 사용하는 방법 MySQLGROUP BY
절을 그룹으로 행 하위 값을 기준으로 열 또는 식입니다.이 튜토리얼이 도움이 되었습니까?