検索
ホームページデータベースOracleOracle の例では、グループ化されたデータを詳しく説明しています

この記事では、主にグループ化されたデータに関連する問題を整理した Oracle に関する関連知識を提供します。グループ化により、データを論理的なグループに分割し、各グループを実行できるようになります。集計計算を見てみましょう. 皆様のお役に立てれば幸いです。

Oracle の例では、グループ化されたデータを詳しく説明しています

推奨チュートリアル: 「Oracle ビデオ チュートリアル

グループ化により、データを論理グループに分割し、各グループが集計を実行できるようになります。計算。

1. グループの作成

グループは、SELECT ステートメントの GROUP BY 句を使用して作成されます。

例:

SELECT vend_id, count(*) as num_prodsfrom productsgroup by vend_id;

Oracle の例では、グループ化されたデータを詳しく説明しています

GROUP BY を使用するため、評価する各グループを指定する必要はありません。計算され、自動的に完了します。 GROUP BY 句は、データをグループ化し、(結果セット全体ではなく) 各グループに対して集計を実行するように Oracle に指示します。

GROUP BY を使用する前に、GROUP BY の使用について知っておく必要がある重要なルールをいくつか説明します。

  • GROUP BY 句には、必要な数の列を含めることができます。これにより、ネストされたグループ化が可能になり、データのグループ化方法をより詳細に制御できるようになります。
  • group by 句にネストされたグループがある場合、データは最後に指定されたグループに集計されます。つまり、グループを構築するとき、指定されたすべての列が一緒に評価されます (そのため、個々の列ごとにデータは取得されません)。
  • group by にリストされる各列は、取得された列または有効な式 (集計関数ではない) である必要があります。 select で式を使用する場合、同じ式を group by で指定する必要があります。エイリアスは使用できません。
  • 集計計算ステートメントを除き、SELECT ステートメントの各列は GROUP BY 句に指定する必要があります。
  • グループ化列に NULL 値を持つ列が含まれている場合、グループ化として NULL が返されます。 NULL 値を持つ行が複数ある場合、それらはすべてグループ化されます。
  • GROUP BY 句は、WHERE 句の後、ORDER BY 句の前に指定する必要があります。

2. フィルターのグループ化

where 句は通常、行のフィルター処理にも使用されます。ただし、where は特定の行をグループ化するのではなくフィルターできるため、ここでは適用されません。実際、where はグループ化に適用できません。

Oracle では、このために別の句 HAVING を提供しています。 where 句と Hasting 句の唯一の違いは、where では行がフィルタされるのに対し、have ではグループがフィルタされることです。

**ヒント: **having はすべての where 演算子をサポートします

where と Have のルールは同じ構文を持ち、キーの下位部分のみが異なります。

#例:

SELECT cust_id, COUNT(*) AS ordersFROM ordersGROUP BY cust_idHAVING COUNT(*) >= 2;

Oracle の例では、グループ化されたデータを詳しく説明しています

#注: have と where の違い

#have と where の違いを別の角度から見てみましょう。フィルタリングはデータの前に行われますが、have フィルタリングはデータのグループ化の後に行われます。これは重要な違いであり、where 句によって削除された行はグループ化に含まれません。これにより、having 句で使用される値に基づいて計算値が変更される可能性があり、その結果、どのグループがフィルタリングされるかに影響を与える可能性があります。

#where 句と have 句を同時に使用する例:

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;

Oracle の例では、グループ化されたデータを詳しく説明しています

3. グループ化と並べ替え

Oracle の例では、グループ化されたデータを詳しく説明しています

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;

Oracle の例では、グループ化されたデータを詳しく説明しています

要按订单总价对输出进行排序,只需添加一个ORDER BY子句,如下:

SELECT order_num, SUM(quantity*item_price) AS ordertotalFROM orderitemsGROUP BY order_numHAVING SUM(quantity*item_price) >= 50ORDER BY ordertotal;

Oracle の例では、グループ化されたデータを詳しく説明しています

4、select子句排序

select子句和它们的顺序

#任意の列を使用できます (選択されていない列も含む)
子句 描述 是否必须
select 要返回的列或表达式 Y
from 要从中检索数据的表 Y(在Oracle中是必须的;在大多数其他的DBMS中则不是)
where 行级过滤(分组前过滤) N
group by 分组规范 仅当按分组计算聚合值时是必须的
having 分组级过滤(分组后过滤) N
order by 输出的排列顺序 N

推荐教程:《Oracle视频教程

以上がOracle の例では、グループ化されたデータを詳しく説明していますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はCSDNで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
MySQL vs. Oracle:ユーザーエクスペリエンスを見るMySQL vs. Oracle:ユーザーエクスペリエンスを見るApr 30, 2025 am 12:12 AM

MySQLとOracleの間のユーザーエクスペリエンスの違いは、主に以下に反映されています。1。MySQLは簡単で使いやすく、迅速なアクセスと柔軟性の高いシナリオに適しています。 2。Oracleには、エンタープライズレベルのサポートが必要なシナリオに適した強力な機能があります。 MySQLのオープンソースと無料の機能は、スタートアップと個々の開発者を引き付け、Oracleの複雑な機能とツールは大企業のニーズを満たしています。

MySQLとOracle:パフォーマンスとスケーラビリティの探求MySQLとOracle:パフォーマンスとスケーラビリティの探求Apr 29, 2025 am 12:12 AM

パフォーマンスとスケーラビリティにおけるMySQLとOracleの違いは次のとおりです。1。MySQLは、高速スケーリングと効率的な読み取りとライティングに適した、中小サイズのデータ​​セットでパフォーマンスが向上します。 2。Oracleには、高可用性と複雑なビジネスロジックに適した、大規模なデータセットと複雑なクエリの処理においてより多くの利点があります。 MySQLはマスター奴隷の複製とシャーディングテクノロジーを通じて拡張され、OracleはRACを通じて高可用性とスケーラビリティを達成します。

Oracle Softwareが行うこと:重要な機能と機能Oracle Softwareが行うこと:重要な機能と機能Apr 28, 2025 am 12:08 AM

Oracleソフトウェアの主な機能には、マルチテナントアーキテクチャ、高度な分析とデータマイニング、リアルタイムアプリケーションクラスタリング(RAC)、自動化された管理と監視が含まれます。 1)マルチテナントアーキテクチャにより、1つのデータベースインスタンスで複数の独立したデータベースの管理が可能になり、管理とコストの削減が簡素化されます。 2)Oracle Advanced AnalyticsやOracLedataminingなどの高度な分析とデータマイニングツールは、データから洞察を抽出するのに役立ちます。 3)リアルタイムアプリケーションクラスター(RAC)は、高可用性とスケーラビリティを提供し、システム障害の許容度とパフォーマンスを向上させます。 4)毎日のメンテナンスタスクを自動化し、リアルタイムで数値を監視するためのOracle EnterpriseManager(OEM)などの自動管理および監視ツール

Oracleの影響:データ管理などOracleの影響:データ管理などApr 27, 2025 am 12:11 AM

Oracleは、データ管理およびエンタープライズアプリケーションの分野に大きな影響を与えます。そのデータベースは、その信頼性、スケーラビリティ、セキュリティで知られており、金融、医療、政府などの業界で広く使用されています。 Oracleの影響は、WeblogicserverやOraclecloudinfrastructure(OCI)などのミドルウェアやクラウドコンピューティングフィールドにも拡大し、革新的なソリューションを提供しています。オープンソースのデータベースとクラウドコンピューティング市場での競争にもかかわらず、Oracleは継続的なイノベーションを通じてその主要な地位を維持しています。

Oracle:会社の使命と価値を探るOracle:会社の使命と価値を探るApr 26, 2025 am 12:06 AM

Oracleの使命は、「人々がデータの価値を見るのを助ける」ことであり、そのコアバリューには次のものが含まれます。1)顧客最初、2)誠実さ、3)イノベーション、4)チームワークこれらの価値は、Oracleの戦略的意思決定と市場におけるビジネスイノベーションを導きます。

Oracleのコア機能:データベースソリューションの提供Oracleのコア機能:データベースソリューションの提供Apr 25, 2025 am 12:06 AM

Oracle Databaseは、データセキュリティと高可用性を提供するためにSQLおよびオブジェクトリレーショナルモデルをサポートするリレーショナルデータベース管理システムです。 1. Oracleデータベースのコア関数には、データストレージ、検索、セキュリティ、バックアップ、リカバリが含まれます。 2。その作業原則には、多層貯蔵構造、MVCCメカニズム、およびオプティマイザーが含まれます。 3.基本的な使用には、テーブルの作成、データの挿入、クエリが含まれます。高度な使用には、ストアドプロシージャとトリガーが含まれます。 4.パフォーマンス最適化戦略には、インデックスの使用、最適化されたSQLステートメント、およびメモリ管理が含まれます。

Oracleソフトウェアの使用:データベース管理などOracleソフトウェアの使用:データベース管理などApr 24, 2025 am 12:18 AM

データベース管理に加えて、OracleソフトウェアはJavaeeアプリケーション、データグリッド、高性能コンピューティングでも使用されています。 1. OracleWeblogicserverは、Javaeeアプリケーションの展開と管理に使用されます。 2。OracleCoherenceは、高性能データストレージとキャッシュサービスを提供します。 3. OracleExadataは、高性能コンピューティングに使用されます。これらのツールにより、OracleはエンタープライズITアーキテクチャでより多様な役割を果たすことができます。

ビジネスの世界におけるオラクルの役割ビジネスの世界におけるオラクルの役割Apr 23, 2025 am 12:01 AM

Oracleはデータベース会社だけでなく、クラウドコンピューティングとERPシステムのリーダーでもあります。 1。Oracleは、データベースからクラウドサービスおよびERPシステムへの包括的なソリューションを提供します。 2。Oraclecloudは、AWSとAzureに挑戦し、IAAS、PAAS、SAASサービスを提供します。 3. e-businesssuiteやfusionApplicationsなどのOracleのERPシステムは、企業がオペレーションを最適化するのに役立ちます。

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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター