MySQL 그룹에 의해

요약:이 튜토리얼에서,당신은 당신을 사용하는 방법을 배울 것입니다 MySQLGROUP BY그룹으로 행 하위 값을 기준으로 열 또는 식입니다.

소개 MySQL 그룹에 의해 절

GROUP BY절 그룹의 집 행을 설정은 요약 행에 의해 값의 열 또는 식입니다. GROUP BY절은 각 그룹에 대해 하나의 행을 반환합니다. 즉,결과 집합의 행 수를 줄입니다.,

자주 사용하는GROUP BY절로 집계와 같은 기능을SUM,AVG,MAX,MIN,andCOUNT. SELECT절에 나타나는 집계 함수는 각 그룹에 대한 정보를 제공합니다.

GROUP BY절은SELECT문의 선택적 절입니다., 다음은GROUP BY절 syntax:

GROUP BY절에 나타나야 합 후FROMWHERE절입니다. 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 BYstatus열을 다음과 같이 쿼리:

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

다음과 같은ordersorderdetails테이블.,

을 얻을 수의 총량은 모두에 의해 주문 상태 가입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 BYclause.

D)MySQL 을 사용하여 그룹과 함께하는 데 절 예

를 필터링 그룹에 의해 반환되는GROUP BY절을 사용하는HAVINGclause. 다음 쿼리는HAVING절을 사용하여 2003 년 이후의 총 판매량을 선택합니다.,

Code language: SQL (Structured Query Language) (sql)

그것을 시도하고 Out

그룹에 의해 절: MySQL 대 표준 SQL

표준 SQL 허용하지 않는 별칭을 사용하는GROUP BYclause,그러나,MySQL 지원합니다.

예를 들어 다음 쿼리는 주문 날짜에서 연도를 추출합니다. 그것은 첫 번째 사용하는year별칭으로 표현의YEAR(orderDate)그리고 사용하는year별칭에서GROUP BYclause., 이 쿼리는 표준 SQL 에서 유효하지 않습니다.

그것을 시도하고 Out

MySQL 또한 정렬 할 수 있습 그룹에서 내림차순 또는 오름차순 주문하는 동안 표준 SQL 하지 않습니다. 기본 순서는 오름차순입니다., 예를 들어,당신이 얻고 싶은 경우에는 숫자에 의해 주문 상태와 종류의 상태에서 내림차순으로 사용할 수 있습니다GROUP BYDESC다음과 같이 쿼리:

Code language: SQL (Structured Query Language) (sql)

그것을 시도하고 Out

통지 우리가 사용하는DESCGROUP BY절을 정렬status내림차순으로., 우리는 또한 명시적으로 지정ASCGROUP BY절 정렬하는 그룹이 상태에 의해 오름차순으로 정렬됩니다.

이 튜토리얼에서는,우리는 당신이 사용하는 방법 MySQLGROUP BY절을 그룹으로 행 하위 값을 기준으로 열 또는 식입니다.이 튜토리얼이 도움이 되었습니까?

  • YesNo
  • 답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다

    도구 모음으로 건너뛰기