답변:
ORDER BY는 항목이 반환되는 순서를 변경합니다.
GROUP BY는 그룹화되지 않은 열 (예 : SUM, COUNT, AVG 등)에 대해 집계 함수를 수행 할 수 있도록 지정된 열별로 레코드를 집계합니다.
ORDER BY는 항목이 반환되는 순서를 변경합니다.
GROUP BY는 그룹화되지 않은 열 (예 : SUM, COUNT, AVG 등)에 대해 집계 함수를 수행 할 수 있도록 지정된 열별로 레코드를 집계합니다.
TABLE:
ID NAME
1 Peter
2 John
3 Greg
4 Peter
SELECT *
FROM TABLE
ORDER BY NAME
=
3 Greg
2 John
1 Peter
4 Peter
SELECT Count(ID), NAME
FROM TABLE
GROUP BY NAME
=
1 Greg
1 John
2 Peter
SELECT NAME
FROM TABLE
GROUP BY NAME
HAVING Count(ID) > 1
=
Peter
age
열이 있고 Peters는 연령이 다르고 쿼리가 SELECT NAME, AGE FROM TABLE GROUP BY NAME이면 어떻게됩니까?
ORDER BY : 데이터를 오름차순 또는 내림차순으로 정렬합니다.
CUSTOMERS 테이블을 고려하십시오 .
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
다음은 결과를 NAME별로 오름차순으로 정렬하는 예입니다.
SQL> SELECT * FROM CUSTOMERS
ORDER BY NAME;
그러면 다음과 같은 결과가 생성됩니다.
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
+----+----------+-----+-----------+----------+
GROUP BY : 동일한 데이터를 그룹으로 정렬합니다.
이제 CUSTOMERS 테이블에는 이름이 중복 된 다음 레코드가 있습니다.
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Ramesh | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | kaushik | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
동일한 이름을 단일 이름으로 그룹화하려는 경우 GROUP BY 쿼리는 다음과 같습니다.
SQL> SELECT * FROM CUSTOMERS
GROUP BY NAME;
그러면 다음과 같은 결과가 생성됩니다. (동일한 이름의 경우 마지막 항목을 선택하고 마지막으로 오름차순으로 열을 정렬합니다)
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 4 | kaushik | 25 | Mumbai | 6500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
| 2 | Ramesh | 25 | Delhi | 1500.00 |
+----+----------+-----+-----------+----------+
sum, avg 등과 같은 SQL 함수 없이는 쓸모가 없다고 추론했습니다.
따라서 GROUP BY의 적절한 사용을 이해하려면이 정의를 살펴보십시오.
GROUP BY 절은 동일한 행을 단일 / 고유 그룹으로 요약하여 쿼리에서 반환 된 행에 대해 작동하고 COUNT (), SUM과 같은 SELECT 목록에서 적절한 집계 함수를 사용하여 각 그룹에 대한 요약이 포함 된 단일 행을 반환합니다. (), MIN (), MAX (), AVG () 등
이제 각 고객 (이름)의 총 급여 금액을 알고 싶다면 GROUP BY 쿼리는 다음과 같습니다.
SQL> SELECT NAME, SUM(SALARY) FROM CUSTOMERS
GROUP BY NAME;
그러면 다음과 같은 결과가 생성됩니다. (동일한 이름의 급여 합계 및 동일한 이름을 제거한 후 NAME 열 정렬)
+---------+-------------+
| NAME | SUM(SALARY) |
+---------+-------------+
| Hardik | 8500.00 |
| kaushik | 8500.00 |
| Komal | 4500.00 |
| Muffy | 10000.00 |
| Ramesh | 3500.00 |
+---------+-------------+
차이점은 정확히 이름이 의미하는 바입니다. group by는 그룹화 작업을 수행하고 order by 정렬은 수행합니다.
당신이 경우에 SELECT * FROM Customers ORDER BY Name
당신은 고객의 이름으로 분류 결과 목록을 얻을.
그렇게 SELECT IsActive, COUNT(*) FROM Customers GROUP BY IsActive
하면 활성 및 비활성 고객의 수가 표시됩니다. 지정한 필드를 기반으로 결과를 집계하여 그룹화합니다.
단순, ORDER BY
데이터 및 GROUP BY
그룹을 정렬하거나 데이터를 결합합니다.
ORDER BY
언급 된 필드에 따라 결과 집합을 기본적으로 오름차순으로 정렬합니다.
로 쿼리를 실행한다고 가정하면 ORDER BY (student_roll_number)
학생의 롤 번호가 오름차순으로 표시됩니다. 여기에서 student_roll_number
항목이 두 번 이상 발생할 수 있습니다.
이 GROUP BY
경우 집계 함수와 함께 사용하고 집계 함수별로 데이터를 그룹화하여 결과를 얻습니다. 여기에서 쿼리 SUM (marks)
와 함께 GROUP BY (student_first_name)
있으면 각 그룹에 속한 학생의 점수 합계가 표시됩니다 (그룹의 모든 구성원은 동일한 이름을 가짐).
GROUP BY는 일반적으로 행을 집계 할 때 선택에서 행을 그룹화하는 데 사용됩니다 (예 : 일부 필드에 대해 동일한 값을 가진 행 집합에 대한 합계, 평균 계산 등).
ORDER BY는 select 문에서 생성 된 행을 정렬하는 데 사용됩니다.
거기에 좋은 예가 있습니다. 웹 치트 시트에서 내 자신의 것을 추가하는 것과 같이 명확하고 명확한 예제를 제공하고 자신의 SQL을 실행할 수 있습니다.
ORDER BY
필드를 오름차순 또는 내림차순으로 표시합니다. 동안 GROUP BY
쇼 같은 fieldName에, ID의 등을 하나 개의 출력이다.