찾다
데이터 베이스MySQL 튜토리얼그룹화은 무슨 뜻인가요?

그룹화은 무슨 뜻인가요?

Mar 09, 2023 pm 06:37 PM
mysqlgroup by

그룹은 "특정 규칙에 따라 그룹화(그룹화)"하는 것으로 이해될 수 있는 "그룹 쿼리"를 의미합니다. 그 기능은 특정 규칙을 통해 데이터 세트를 여러 개의 작은 영역으로 나눈 다음 여러 개의 작은 영역을 대상으로 하는 것입니다. 영역은 데이터 처리에 사용됩니다. MySQL에서 GROUP BY는 하나 이상의 필드를 기반으로 쿼리 결과를 그룹화하는 데 사용되는 SELECT 문의 선택적 절입니다. 이는 결과 집합의 행 수를 줄입니다.

그룹화은 무슨 뜻인가요?

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

그룹은 "그룹 쿼리"를 의미합니다.

Group By 문은 문자 그대로 영어로 "특정 규칙에 따라 그룹화"를 의미합니다. 그 기능은 특정 규칙을 통해 데이터 세트를 여러 개의 작은 영역으로 나눈 다음 여러 개의 작은 영역에서 데이터 처리를 수행하는 것입니다.

MySQL은 GROUP BY 그룹 쿼리를 사용합니다

MySQL에서 GROUP BY 키워드는 하나 이상의 필드에 따라 쿼리 결과를 그룹화할 수 있습니다.

GROUP BY 절은 열 또는 표현식의 값을 기준으로 행 집합을 요약 행 레코드의 작은 그룹으로 그룹화합니다. GROUP BY 절은 각 그룹에 대해 하나의 행을 반환합니다. 즉, 결과 집합의 행 수가 줄어듭니다.

GROUP BY 절은 SUM, AVG, MAX, MIN 및 COUNT와 같은 집계 함수와 함께 자주 사용됩니다. 집계 함수는 SELECT 절에서 각 그룹화에 대한 정보를 계산하는 데 사용됩니다.

GROUP BY 절은 SELECT 문의 선택적 절입니다. 다음은 GROUP BY 절 구문입니다.

SELECT 
    c1, c2,..., cn, aggregate_function(ci)
FROM
    table
WHERE
    where_conditions
GROUP BY c1 , c2,...,cn;

GROUP BY 절은 FROM 및 WHERE 절 뒤에 와야 합니다. GROUP BY 키워드 다음에는 행을 그룹화하기 위한 조건으로 사용되는 열 또는 표현식의 쉼표로 구분된 목록이 옵니다.

MySQL GROUP BY example

1. Simple MySQL GROUP BY example

샘플 데이터베이스(yiibaidb)의 주문 테이블을 살펴보겠습니다. 그 구조는 다음과 같습니다. -

mysql> desc orders;

그룹화은 무슨 뜻인가요?

주문 상태 값을 하위 그룹으로 그룹화하려면 GROUP BY 절을 사용하고 상태 열을 지정하여 그룹화해야 합니다.

SELECT 
    status
FROM
    orders
GROUP BY status;

위 쿼리 문을 실행하면 다음과 같은 결과가 나옵니다 -

그룹화은 무슨 뜻인가요?

GROUP BY 절에서 반환된 상태 값이 고유하다는 것을 알 수 있습니다. 이는 다음 쿼리에 표시된 것처럼 DISTINCT 연산자처럼 작동합니다.

SELECT DISTINCT
    status
FROM
    orders;

위 쿼리 문을 실행하고 다음 결과를 얻습니다.

그룹화은 무슨 뜻인가요?

2. MySQL GROUP BY 및 집계 함수

는 집계를 사용하여 실행될 수 있습니다. 함수 행 집합을 계산하고 단일 값을 반환합니다. GROUP BY 절은 집계 함수와 함께 사용되어 각 그룹에 대한 계산을 수행하고 단일 값을 반환하는 경우가 많습니다.

예를 들어 상태별 주문 수를 알고 싶다면 아래와 같이 COUNT 함수와 GROUP BY 절 쿼리문을 사용할 수 있습니다.

SELECT 
    status, COUNT(*) AS total_number
FROM
    orders
GROUP BY status;

위 쿼리문을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

그룹화은 무슨 뜻인가요?

다음 주문(주문) 및 주문 세부정보(orderdetails) 표를 참조하세요. 해당 ER 다이어그램은 아래에 표시됩니다.

그룹화은 무슨 뜻인가요?

모든 주문의 상태별 총액을 확인하려면 orderdetails를 사용할 수 있습니다. 테이블을 연결하여 주문 테이블을 연결하고 SUM 함수를 사용하여 총액을 계산합니다. 다음 쿼리를 참고하세요.

SELECT 
    status, SUM(quantityOrdered * priceEach) AS amount
FROM
    orders
        INNER JOIN
    orderdetails USING (orderNumber)
GROUP BY status;

위 쿼리를 실행하면 다음과 같은 결과가 나옵니다. -

그룹화은 무슨 뜻인가요?

마찬가지로 다음 쿼리도 주문 번호와 각 주문의 총액을 반환합니다.

SELECT 
    orderNumber,
    SUM(quantityOrdered * priceEach) AS total
FROM
    orderdetails
GROUP BY orderNumber;

위 쿼리를 실행하여 다음 결과를 얻습니다. -

그룹화은 무슨 뜻인가요?

3. MySQL GROUP BY 표현식 예시

열 외에도 행을 표현식으로 그룹화할 수 있습니다. 다음 쿼리는 연간 총 매출을 가져옵니다.

SELECT 
    YEAR(orderDate) AS year,
    SUM(quantityOrdered * priceEach) AS total
FROM
    orders
        INNER JOIN
    orderdetails USING (orderNumber)
WHERE
    status = 'Shipped'
GROUP BY YEAR(orderDate);

위 쿼리를 실행하여 다음과 같은 결과를 얻습니다. -

그룹화은 무슨 뜻인가요?

이 예에서는 YEAR 함수를 사용하여 주문 날짜(orderDate)에서 연도 데이터를 추출합니다. 배송됨 상태의 주문만 포함됩니다. SELECT 절에 나타나는 표현식은 GROUP BY 절의 표현식과 동일해야 합니다.

MySQL GROUP BY 및 HAVING 절

HAVING 절을 사용하여 GROUP BY 절에서 반환된 그룹을 필터링할 수 있습니다. 다음 쿼리는 HAVING 절을 사용하여 2013년 이후의 연간 매출 합계를 선택합니다.

SELECT 
    YEAR(orderDate) AS year,
    SUM(quantityOrdered * priceEach) AS total
FROM
    orders
        INNER JOIN
    orderdetails USING (orderNumber)
WHERE
    status = 'Shipped'
GROUP BY year
HAVING year > 2013;

위 쿼리를 실행하면 다음과 같은 결과가 나옵니다 -

그룹화은 무슨 뜻인가요?

GROUP BY子句:MySQL与标准SQL

标准SQL不允许使用GROUP BY子句中的别名,但MySQL支持此选项。以下查询从订单日期提取年份,并对每年的订单进行计数。该year用作表达式YEAR(orderDate)的别名,它也用作GROUP BY子句中的别名,此查询在标准SQL中无效。

参考以下查询 -

SELECT 
    YEAR(orderDate) AS year, COUNT(orderNumber)
FROM
    orders
GROUP BY year;

执行上面查询,得到以下结果 -

그룹화은 무슨 뜻인가요?

MySQL还允许您以升序或降序(标准SQL不能提供)对组进行排序。默认顺序是升序。例如,如果要按状态获取订单数量并按降序对状态进行排序,则可以使用带有DESC的GROUP BY子句,如下查询语句:

SELECT 
    status, COUNT(*)
FROM
    orders
GROUP BY status DESC;

执行上面查询,得到以下结果 -

1그룹화은 무슨 뜻인가요?

请注意,在GROUP BY子句中使用DESC以降序对状态进行排序。我们还可以在GROUP BY子句中明确指定ASC,按状态对分组进行升序排序。

【相关推荐:mysql视频教程

위 내용은 그룹화은 무슨 뜻인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
MySQL은 다른 RDBM에 비해 동시성을 어떻게 처리합니까?MySQL은 다른 RDBM에 비해 동시성을 어떻게 처리합니까?Apr 29, 2025 am 12:44 AM

mysqlhandlesconcurrencyusingamixofrow-reveltable-levellocking, 주로 throughinnodb'srow-levellocking.comparedtootherrdbms, mysql 's trofficefice formanyusecasesbutmayfacechallengeswithdeadlocksandlacksadvancturespostpostgresql'sserializa

MySQL은 다른 관계형 데이터베이스에 비해 트랜잭션을 어떻게 처리합니까?MySQL은 다른 관계형 데이터베이스에 비해 트랜잭션을 어떻게 처리합니까?Apr 29, 2025 am 12:37 AM

mysqlhandlestransactionseffectialthicatied theinnodbengine, support-propertiessimilartopostgresqlandoracle.1) mysqlusesepeatablereadasthedefaultisolationlevel, itpoptormizestperformance와 함께

MySQL에서 사용 가능한 데이터 유형은 무엇입니까?MySQL에서 사용 가능한 데이터 유형은 무엇입니까?Apr 29, 2025 am 12:28 AM

MySQL 데이터 유형은 숫자, 날짜 및 시간, 문자열, 이진 및 공간 유형으로 나뉩니다. 올바른 유형을 선택하면 데이터베이스 성능 및 데이터 스토리지를 최적화 할 수 있습니다.

MySQL에서 효율적인 SQL 쿼리를 작성하기위한 모범 사례는 무엇입니까?MySQL에서 효율적인 SQL 쿼리를 작성하기위한 모범 사례는 무엇입니까?Apr 29, 2025 am 12:24 AM

모범 사례에는 다음이 포함됩니다. 1) 데이터 구조 및 MySQL 처리 방법 이해, 2) 적절한 인덱싱, 3) 선택을 피하십시오*, 4) 적절한 결합 유형 사용, 5)주의와 함께 하위 쿼리 사용, 6) 설명과 함께 쿼리 분석, 7) 서버 리소스에 대한 쿼리의 영향을 고려하십시오. 8) 데이터베이스를 정기적으로 유지하십시오. 이러한 관행은 MySQL 쿼리를 빠르게 만들뿐만 아니라 유지 보수, 확장 성 및 자원 효율성을 만들 수 있습니다.

MySQL은 PostgreSQL과 어떻게 다릅니 까?MySQL은 PostgreSQL과 어떻게 다릅니 까?Apr 29, 2025 am 12:23 AM

mysqlisbetterforspeedandsimplicity, 적절한 위장; postgresqlexcelsincmoMplexDatascenarioswithrobustFeat.MySqlisIdeAlforQuickProjectSandread-Heavytasks, whilepostgresqlisprefferredforapticationstrictaintetaintegritytetegritytetetaintetaintetaintegritytetaintegritytetaintegritytetainte

MySQL은 데이터 복제를 어떻게 처리합니까?MySQL은 데이터 복제를 어떻게 처리합니까?Apr 28, 2025 am 12:25 AM

MySQL은 비동기식, 반 동시성 및 그룹 복제의 세 가지 모드를 통해 데이터 복제를 처리합니다. 1) 비동기 복제 성능은 높지만 데이터가 손실 될 수 있습니다. 2) 반 동기화 복제는 데이터 보안을 향상 시키지만 대기 시간을 증가시킵니다. 3) 그룹 복제는 고 가용성 요구 사항에 적합한 다중 마스터 복제 및 장애 조치를 지원합니다.

설명 명세서를 사용하여 쿼리 성능을 분석 할 수있는 방법은 무엇입니까?설명 명세서를 사용하여 쿼리 성능을 분석 할 수있는 방법은 무엇입니까?Apr 28, 2025 am 12:24 AM

설명 설명은 SQL 쿼리 성능을 분석하고 개선하는 데 사용될 수 있습니다. 1. 쿼리 계획을 보려면 설명 명세서를 실행하십시오. 2. 출력 결과를 분석하고 액세스 유형, 인덱스 사용량 및 조인 순서에주의를 기울이십시오. 3. 분석 결과를 기반으로 인덱스 생성 또는 조정, 조인 작업을 최적화하며 전체 테이블 스캔을 피하여 쿼리 효율성을 향상시킵니다.

MySQL 데이터베이스를 어떻게 백업하고 복원합니까?MySQL 데이터베이스를 어떻게 백업하고 복원합니까?Apr 28, 2025 am 12:23 AM

논리 백업에 mysqldump를 사용하고 핫 백업을 위해 mysqlenterprisebackup을 사용하는 것은 mySQL 데이터베이스를 백업하는 효과적인 방법입니다. 1. MySQLDUMP를 사용하여 데이터베이스를 백업합니다 : MySQLDUMP-UROOT-PMYDATABASE> MYDATABASE_BACKUP.SQL. 2. Hot Backup : MySQLBackup- 사용자 = root-password = password-- backup-dir =/path/to/backupbackup에 mysqlenterprisebackup을 사용하십시오. 회복 할 때 해당 수명을 사용하십시오

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.