logo

GROUP BY와 ORDER BY

이 문서에서는 GROUP BY 및 ORDER BY 절의 전체 개요를 설명합니다. 주로 SQL 쿼리로 얻은 데이터를 구성하는 데 사용됩니다. 이 절들 사이의 차이점은 학습할 때 막히는 가장 일반적인 부분 중 하나입니다. SQL . 그들 사이의 주요 차이점은 GROUP BY 절은 둘 이상의 행 집합에 집계 함수를 사용하려는 경우에 적용 가능합니다. ORDER BY 절은 쿼리로 얻은 데이터를 정렬된 순서로 가져오고 싶을 때 적용 가능합니다. . 비교를 하기 전에 먼저 이러한 SQL 절을 알아야 합니다.

GROUP BY와 ORDER BY

ORDER BY 조항

ORDER BY 절은 SQL 쿼리에서 쿼리에 의해 반환된 데이터를 오름차순 또는 내림차순으로 정렬하는 데 사용됩니다. 정렬 순서를 생략하면 기본적으로 요약된 결과가 오름차순으로 정렬됩니다. GROUP BY 절과 마찬가지로 ORDER BY 절은 SELECT 문과 함께 사용할 수 있습니다. ASC 는 오름차순을 나타내고, 설명 내림차순을 나타냅니다.

다음은 SQL 문에서 ORDER BY 절을 사용하는 구문입니다.

자바 파일 열기
 SELECT expressions FROM tables [WHERE conditions] ORDER BY expression [ ASC | DESC ]; 

다음 예를 통해 ORDER BY 절이 어떻게 작동하는지 이해해 보겠습니다. 테이블이 있다고 가정하자 개발자 여기에는 다음 데이터가 포함됩니다.

GROUP BY와 ORDER BY

이러한 결과가 체계적으로 표시되지 않는 것을 볼 수 있습니다. 결과를 기준으로 오름차순 또는 내림차순으로 결과를 구성한다고 가정합니다. 상태 열 . 이 경우 원하는 결과를 얻으려면 ORDER BY 명령이 필요합니다. 다음과 같이 명령을 실행하여 이를 수행할 수 있습니다.

 mysql> SELECT D_name, D_state, D_salary FROM developers ORDER BY D_state ASC; 

원하는 결과를 얻을 수 있는 출력은 다음과 같습니다.

GROUP BY와 ORDER BY

GROUP BY 절

GROUP BY 절은 SQL 쿼리에서 동일한 속성 값을 가진 데이터를 구성하는 데 사용됩니다. 일반적으로 SELECT 문과 함께 사용합니다. WHERE 절 뒤에 GROUP BY 절을 배치해야 한다는 점을 항상 기억하세요. 또한 ORDER BY 절 앞에서 속도가 조정됩니다.

SUM, AVG, MIN, MAX 및 COUNT와 같은 집계 함수와 함께 이 절을 사용하여 데이터베이스에서 요약 보고서를 생성할 수 있는 경우가 많습니다. 이 절의 특성은 집계 함수 아래가 아니라 SELECT 절에 나타나야 한다는 점을 기억하는 것이 중요합니다. 그렇게 하면 쿼리가 올바르지 않게 됩니다. 결과적으로 GROUP BY 절은 항상 SELECT 절과 함께 사용됩니다. GROUP BY 절에 대한 쿼리는 그룹화된 쿼리이며 그룹화된 각 개체에 대해 단일 행을 반환합니다.

트리 순회

다음은 SQL 문에서 GROUP BY 절을 사용하는 구문입니다.

 SELECT column_name, function(column_name) FROM table_name WHERE condition GROUP BY column_name; 

예제를 통해 GROUP BY 절이 어떻게 작동하는지 이해해 보겠습니다. 여기서는 동일한 테이블을 사용하여 이를 보여드리겠습니다.

우리가 알고 싶다고 가정하자 특정 주에서 개발자의 평균 급여 상태 열을 기준으로 결과를 내림차순으로 구성합니다. 이 경우 원하는 결과를 얻으려면 GROUP BY 및 ORDER BY 명령이 모두 필요합니다. 다음과 같이 명령을 실행하여 이를 수행할 수 있습니다.

 mysql> SELECT D_state, avg(D_salary) AS salary FROM developers GROUP BY D_state ORDER BY D_state DESC; 

이 쿼리는 처음에 상태를 그룹화한 중간 결과를 형성했습니다. 다음으로, 평균 각 상태 그룹에 대해 함수를 수행한 후 결과를 내림차순으로 정렬하면 마지막으로 아래와 같이 원하는 결과를 얻을 수 있습니다.

GROUP BY와 ORDER BY

GROUP BY와 ORDER BY의 주요 차이점

다음은 Group By 절과 Order By 절 사이의 주요 차이점입니다.

  • Group By 절은 특정 열의 동일한 값을 기준으로 데이터를 그룹화하는 데 사용됩니다. 반면 ORDER BY 절은 결과를 정렬하여 오름차순 또는 내림차순으로 표시합니다.
  • Group By를 사용하기 위해서는 반드시 집계함수를 사용해야 합니다. 반면 Order By를 사용하기 위해 집계 함수를 반드시 사용해야 하는 것은 아닙니다.
  • 속성은 집계 함수 아래의 GROUP BY 문 아래에 있을 수 없지만, 속성은 집계 함수 아래의 ORDER BY 문 아래에 있을 수 있습니다.
  • Group By 절은 행 속성 값 간의 유사성을 기반으로 그룹화가 수행됨을 의미하는 튜플의 표시를 제어합니다. 대조적으로, ORDER BY 절은 열의 속성 값을 기준으로 오름차순 또는 내림차순으로 정렬 또는 정렬이 수행됨을 의미하는 열 표시를 제어합니다.
  • GROUP BY는 항상 WHERE 절 뒤, ORDER BY 문 앞에 배치됩니다. 반면 ORDER BY는 항상 GROUP BY 문 다음에 사용됩니다.

GROUP BY와 ORDER BY 비교 차트

다음 비교 차트에서는 주요 차이점을 빠르게 설명합니다.

SN 그룹 기준 주문
1. 동일한 값을 갖는 행을 그룹화하는 데 사용됩니다. 결과 집합을 오름차순 또는 내림차순으로 정렬합니다.
2. CREATE VIEW 문에서 허용될 수 있습니다. CREATE VIEW 문에서는 허용되지 않습니다.
삼. 행 표시를 제어합니다. 열 표시를 제어합니다.
4. 속성은 GROUP BY 문 아래의 집계 함수 아래에 있을 수 없습니다. 속성은 ORDER BY 문 아래의 집계 함수 아래에 있을 수 있습니다.
5. SELECT 문에서 ORDER BY 절 앞에 항상 사용됩니다. 이는 항상 SELECT 문의 GROUP BY 절 뒤에 사용됩니다.
6. GROUP BY에서는 집계 함수를 반드시 사용해야 합니다. ORDER BY에서 집계 함수를 사용하는 것이 필수는 아닙니다.
7. 여기서는 행의 속성값 간의 유사성을 기준으로 그룹화를 수행합니다. 여기서 결과 집합은 열의 속성 값을 기준으로 오름차순 또는 내림차순으로 정렬됩니다.

결론

이 문서에서는 GROUP BY 및 ORDER BY 절을 비교합니다. 두 절 모두 매우 유용한 SQL 데이터베이스 기능입니다. 행 그룹을 구성하려면 GROUP BY 절을 사용합니다. 특정 열을 기준으로 데이터를 오름차순 또는 내림차순으로 구성하려면 ORDER BY 절을 사용합니다. 둘 다 서로 다른 두 가지 목적으로 사용되기 때문에 아무런 관계가 없습니다. 그러나 특별한 목적을 위해 이들을 결합할 수도 있고 상황에 따라 개별적으로 사용할 수도 있습니다. 이러한 절은 SELECT 문에서만 사용할 수 있습니다.

자바에서 엑셀 파일 읽기