이 기사에서는 주로 그룹화된 데이터와 관련된 문제를 정리하는 Oracle에 대한 관련 지식을 제공합니다. 그룹화를 사용하면 데이터를 논리적 그룹으로 나누어 각 그룹에서 집계 계산을 수행할 수 있습니다. 그것이 모두에게 도움이 되기를 바랍니다.
추천 튜토리얼: "Oracle Video Tutorial"
그룹화를 사용하면 데이터를 논리적 그룹으로 나누어 각 그룹에서 집계 계산을 수행할 수 있습니다.
1. 그룹 만들기
그룹은 SELECT 문의 GROUP BY 절을 사용하여 생성됩니다.
예:
SELECT vend_id, count(*) as num_prodsfrom productsgroup by vend_id;
GROUP BY를 사용하면 평가하고 계산할 각 그룹화를 지정할 필요가 없으며 자동으로 수행됩니다. GROUP BY 절은 Oracle에게 데이터를 그룹화하고 (전체 결과 집합이 아닌) 각 그룹에 대해 집계를 수행하도록 지시합니다.
GROUP BY를 사용하기 전에 다음은 GROUP BY 사용에 대해 알아야 할 몇 가지 중요한 규칙입니다.
- GROUP BY 절에는 필요한 만큼의 열이 포함될 수 있습니다. 중첩된 그룹화를 허용하여 데이터 그룹화 방법을 보다 세밀하게 제어할 수 있습니다.
- group by 절에 중첩된 그룹이 있는 경우 마지막으로 지정된 그룹에 데이터가 요약됩니다. 즉, 그룹화를 구축할 때 지정된 모든 열이 함께 평가됩니다(따라서 각 개별 열에 대한 데이터가 검색되지 않습니다).
- 그룹 기준에 나열된 각 열은 검색된 열이거나 유효한 표현식(집계 함수 아님)이어야 합니다. Select에서 표현식을 사용하는 경우 Group by에서도 동일한 표현식을 지정해야 합니다. 별칭은 사용할 수 없습니다.
- 집계 계산 문을 제외하고 SELECT 문의 각 열은 GROUP BY 절에 나타나야 합니다.
- 그룹화 열에 NULL 값이 포함된 열이 포함된 경우 NULL이 그룹화로 반환됩니다. NULL 값이 있는 행이 여러 개인 경우 모두 함께 그룹화됩니다.
- GROUP BY 절은 WHERE 절 뒤, ORDER BY 절 앞에 와야 합니다.
2. 필터 그룹화
where 절은 일반적으로 행 필터링에도 사용됩니다. 그러나 여기서는 특정 행을 그룹화하는 것이 아니라 필터링할 수 있으므로 여기서는 적용되지 않습니다. 실제로 그룹화에는 적용할 수 없습니다.
Oracle은 이에 대한 또 다른 조항인 HAVING을 제공합니다. where 절과 have 절의 유일한 차이점은 where 절은 행을 필터링하고, where 절은 필터 그룹을 갖는 것입니다.
**팁: **having은 모든 where 연산자를 지원합니다
where와 had의 규칙은 키워드만 다를 뿐 완전히 동일합니다.
예:
SELECT cust_id, COUNT(*) AS ordersFROM ordersGROUP BY cust_idHAVING COUNT(*) >= 2;
참고: 갖는 것과 위치의 차이점
다른 각도에서 갖는 것과 위치의 차이점을 살펴보세요. 필터링은 데이터 이전에 발생하는 반면 필터링은 데이터 이전에 발생합니다. 데이터 그룹화 후. 이는 중요한 차이점입니다. where 절에 의해 삭제된 행은 그룹화에 포함되지 않습니다. 이는 have 절에 사용된 값을 기반으로 계산된 값을 변경할 수 있으며, 결과적으로 필터링할 그룹에 영향을 미칠 수 있습니다.
where 절과 had 절을 함께 사용하는 예:
select vend_id, count(*), as num_prodsfrom productswhere prod_price>=10group by vend_idhaving count(*) > 2;
SELECT vend_id, COUNT(*) AS num_prodsFROM productsGROUP BY vend_idHAVING COUNT(*) >= 2;
3 그룹화 및 정렬
일반적으로 사용되지만 group by와 order by의 차이는 엄청납니다. 완료를 위해 마찬가지입니다.
다음 표에서는 order by와 group by의 차이점을 설명합니다.
order by | group by |
---|---|
생성된 출력을 정렬 | 행을 그룹화하지만 출력이 그렇지 않을 수 있습니다. 그룹화 순서 |
모든 열(선택되지 않은 열 포함)을 사용할 수 있습니다. | 선택한 열이나 표현식만 사용할 수 있으며 선택한 모든 열 표현식을 반드시 사용할 수 있습니다. |
절대 필요하지 않습니다 | 다음과 같은 열(또는 표현식)을 사용하는 경우 필수입니다. 집계 함수 |
时常,你会发现使用GROUP BY分组的数据的确是以分组顺序输出的。但是并非总是如此,并且实际上SQL规范也并没有如此要求。而且你实际上可能希望它以不同于分组的方式进行排序。你以一种方式对数据进行分组(以获得特定于分组的聚合值),并不意味着你也希望输出以相同的方式进行排序。总是应该还提供一个显式的ORDER BY子句,即使它与GROUP BY子句完全相同。
提示:不要忘记ORDER BY
通常,无论何时使用GROUP BY子句,还应该指定一个ORDER BY子句,这是确保正确地对数据进行排序的唯一方式。永远不要依靠GROUP BY对数据排序。
为了演示同时使用GROUP BY和ORDER BY的情况,让我们看一个示例。下面的SELECT语句类似于之前使用的SELECT语句。它用于检索总价在50以上(含50)的所有订单的订单号和订单总价:
SELECT order_num, SUM(quantity*item_price) AS ordertotalFROM orderitemsGROUP BY order_numHAVING SUM(quantity*item_price) >= 50;
要按订单总价对输出进行排序,只需添加一个ORDER BY子句,如下:
SELECT order_num, SUM(quantity*item_price) AS ordertotalFROM orderitemsGROUP BY order_numHAVING SUM(quantity*item_price) >= 50ORDER BY ordertotal;
4、select子句排序
select子句和它们的顺序
子句 | 描述 | 是否必须 |
---|---|---|
select | 要返回的列或表达式 | Y |
from | 要从中检索数据的表 | Y(在Oracle中是必须的;在大多数其他的DBMS中则不是) |
where | 行级过滤(分组前过滤) | N |
group by | 分组规范 | 仅当按分组计算聚合值时是必须的 |
having | 分组级过滤(分组后过滤) | N |
order by | 输出的排列顺序 | N |
推荐教程:《Oracle视频教程》
위 내용은 Oracle 예제에서는 그룹화된 데이터를 자세히 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

MySQL과 Oracle 간의 사용자 경험의 차이는 주로 다음과 같이 반영됩니다. 1. MySQL은 간단하고 사용하기 쉽고 빠른 액세스 및 유연성이 높은 시나리오에 적합합니다. 2. Oracle은 강력한 기능을 가지고 있으며 엔터프라이즈 수준의 지원이 필요한 시나리오에 적합합니다. MySQL의 오픈 소스 및 무료 기능은 스타트 업 및 개별 개발자를 유치하는 반면, Oracle의 복잡한 기능과 도구는 대기업의 요구를 충족시킵니다.

성능과 확장 성에서 MySQL과 Oracle의 차이점은 다음과 같습니다. 1. MySQL은 중소형 데이터 세트에서 더 잘 수행되며 빠른 스케일링 및 효율적인 읽기 및 쓰기에 적합합니다. 2. Oracle은 대형 데이터 세트와 복잡한 쿼리를 처리하는 데 더 많은 장점이 있으며, 고 가용성 및 복잡한 비즈니스 논리에 적합합니다. MySQL은 마스터 슬레이브 복제 및 샤드 기술을 통해 확장되며 Oracle은 RAC를 통해 고 가용성과 확장 성을 달성합니다.

Oracle 소프트웨어의 주요 기능에는 다중 테넌트 아키텍처, 고급 분석 및 데이터 마이닝, 실시간 응용 프로그램 클러스터링 (RAC) 및 자동화 된 관리 및 모니터링이 포함됩니다. 1) 다중 테넌트 아키텍처는 하나의 데이터베이스 인스턴스에서 여러 독립 데이터베이스를 관리하여 관리를 단순화하고 비용을 줄일 수 있습니다. 2) Oracle Advanced Analytics 및 OracledAtamining과 같은 고급 분석 및 데이터 마이닝 도구는 데이터에서 통찰력을 추출하는 데 도움이됩니다. 3) 실시간 응용 프로그램 클러스터 (RAC)는 고 가용성 및 확장 성을 제공하여 시스템 결함 공차 및 성능을 향상시킵니다. 4) ORACLE ENTERPRISEMANAGER (OEM)와 같은 자동화 된 관리 및 모니터링 도구는 매일 유지 보수 작업을 자동화하고 실시간으로 모니터링합니다.

Oracle은 데이터 관리 및 엔터프라이즈 애플리케이션 분야에 중대한 영향을 미칩니다. 데이터베이스는 신뢰성, 확장 성 및 보안으로 유명하며 금융, 의료 및 정부와 같은 산업에서 널리 사용됩니다. Oracle의 영향은 또한 Weblogicserver 및 OCI (Oclecloudinfrastructure)와 같은 미들웨어 및 클라우드 컴퓨팅 필드로 확장되어 혁신적인 솔루션을 제공했습니다. 오픈 소스 데이터베이스 및 클라우드 컴퓨팅 시장에서의 경쟁에도 불구하고 Oracle은 지속적인 혁신을 통해 주요 위치를 유지합니다.

Oracle의 사명은 "사람들이 데이터의 가치를 볼 수 있도록 돕는 것"이며, 그 핵심 가치에는 다음과 같습니다. 1) 고객 우선, 2) 무결성, 3) 혁신 및 4) 팀워크가 포함됩니다. 이 가치는 시장에서 Oracle의 전략적 의사 결정 및 비즈니스 혁신을 안내합니다.

Oracle Database는 데이터 보안 및 고 가용성을 제공하기 위해 SQL 및 객체 관계형 모델을 지원하는 관계형 데이터베이스 관리 시스템입니다. 1. Oracle 데이터베이스의 핵심 기능에는 데이터 저장, 검색, 보안 및 백업 및 복구가 포함됩니다. 2. 작업 원칙에는 다층 저장 구조, MVCC 메커니즘 및 최적화가 포함됩니다. 3. 기본 사용에는 테이블 작성, 데이터 삽입 및 쿼리; 고급 사용에는 저장된 절차 및 트리거가 포함됩니다. 4. 성능 최적화 전략에는 인덱스 사용, 최적화 된 SQL 문 및 메모리 관리가 포함됩니다.

데이터베이스 관리 외에도 Oracle Software는 Javaee 응용 프로그램, 데이터 그리드 및 고성능 컴퓨팅에도 사용됩니다. 1. OracleWeblogicserver는 Javaee 응용 프로그램을 배포하고 관리하는 데 사용됩니다. 2. OracleCoherence는 고성능 데이터 저장 및 캐싱 서비스를 제공합니다. 3. OracleExadata는 고성능 컴퓨팅에 사용됩니다. 이러한 도구를 통해 Oracle은 Enterprise IT 아키텍처에서보다 다양한 역할을 수행 할 수 있습니다.

Oracle은 데이터베이스 회사 일뿐 만 아니라 클라우드 컴퓨팅 및 ERP 시스템의 리더이기도합니다. 1. Oracle은 데이터베이스에서 클라우드 서비스 및 ERP 시스템에 이르기까지 포괄적 인 솔루션을 제공합니다. 2. OracleCloud는 AWS와 Azure에 도전하여 IAA, PAAS 및 SAAS 서비스를 제공합니다. 3. E-BusinessSuite 및 FusionApplications와 같은 Oracle의 ERP 시스템은 기업이 운영을 최적화하는 데 도움이됩니다.


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기
