Dieser Artikel vermittelt Ihnen relevantes Wissen über Oracle, das hauptsächlich Probleme im Zusammenhang mit gruppierten Daten organisiert, sodass Daten in logische Gruppen unterteilt werden können, sodass aggregierte Berechnungen für jede Gruppe durchgeführt werden können. hoffe es hilft allen.
Empfohlenes Tutorial: „Oracle Video Tutorial“
Gruppierung ermöglicht die Aufteilung von Daten in logische Gruppen, sodass aggregierte Berechnungen für jede Gruppe durchgeführt werden können.
1. Erstellen Sie eine Gruppe
Gruppe wird mithilfe der GROUP BY-Klausel in der SELECT-Anweisung erstellt.
Beispiel:
SELECT vend_id, count(*) as num_prodsfrom productsgroup by vend_id;
Dank der Verwendung von GROUP BY müssen Sie nicht jede zu bewertende und zu berechnende Gruppierung angeben, dies erfolgt automatisch. Die GROUP BY-Klausel weist Oracle an, die Daten zu gruppieren und eine Aggregation für jede Gruppe durchzuführen (und nicht für die gesamte Ergebnismenge).
Bevor Sie GROUP BY verwenden, sind unten einige wichtige Regeln aufgeführt, die Sie über die Verwendung kennen müssen.
- Die GROUP BY-Klausel kann so viele Spalten wie nötig enthalten. Es ermöglicht eine verschachtelte Gruppierung und ermöglicht so eine genauere Kontrolle darüber, wie Daten gruppiert werden.
- Wenn Sie in der Group by-Klausel verschachtelte Gruppen haben, werden die Daten in der zuletzt angegebenen Gruppe zusammengefasst. Mit anderen Worten: Beim Erstellen einer Gruppierung werden alle angegebenen Spalten gemeinsam ausgewertet (Daten werden also nicht für jede einzelne Spalte abgerufen).
- Jede in der Gruppe nach aufgeführte Spalte muss eine abgerufene Spalte oder ein gültiger Ausdruck (keine Aggregatfunktion) sein. Wenn ein Ausdruck in „select“ verwendet wird, muss derselbe Ausdruck in „group by“ angegeben werden. Aliase können nicht verwendet werden.
- Mit Ausnahme von Aggregatberechnungsanweisungen sollte jede Spalte in der SELECT-Anweisung in der GROUP BY-Klausel erscheinen.
- Wenn die Gruppierungsspalte eine Spalte mit einem NULL-Wert enthält, wird NULL als Gruppierung zurückgegeben. Wenn mehrere Zeilen mit NULL-Werten vorhanden sind, werden sie alle gruppiert.
- Die GROUP BY-Klausel muss nach der WHERE-Klausel und vor der ORDER BY-Klausel stehen.
2. Filtergruppierung
Where-Klausel wird normalerweise auch für die Zeilenfilterung verwendet. Allerdings gilt „wo“ hier nicht, da „wo“ bestimmte Zeilen filtern und nicht gruppieren kann. Tatsächlich kann where nicht auf die Gruppierung angewendet werden.
Oracle bietet hierfür eine weitere Klausel: HAVING. Der einzige Unterschied zwischen der Where-Klausel und der Have-Klausel besteht darin, dass Where Zeilen filtert, während Have Filtergruppen hat.
**Tipps: **Having unterstützt alle Where-Operatoren
Die Regeln für Where und Have sind genau die gleichen, nur mit unterschiedlichen Schlüsselwörtern.
Beispiel:
SELECT cust_id, COUNT(*) AS ordersFROM ordersGROUP BY cust_idHAVING COUNT(*) >= 2;
Hinweis: Der Unterschied zwischen haben und wo
Betrachten Sie den Unterschied zwischen haben und wo aus einem anderen Blickwinkel: Hier erfolgt die Filterung vor den Daten, während die Filterung vorher erfolgt Nach der Datengruppierung. Dies ist ein wichtiger Unterschied. Durch die where-Klausel gelöschte Zeilen werden nicht in die Gruppierung einbezogen. Dadurch können sich die berechneten Werte basierend auf den in der Have-Klausel verwendeten ändern, was wiederum Auswirkungen darauf haben kann, welche Gruppen gefiltert werden.
Beispiel für die gemeinsame Verwendung der Klausel „Where“ und „Having“:
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. Gruppieren und Sortieren
Der Unterschied zwischen „group by“ und „order by“ ist enorm, auch wenn sie normalerweise verwendet werden zur Vervollständigung Das Gleiche.
In der folgenden Tabelle wird der Unterschied zwischen Sortieren nach und Gruppieren nach beschrieben Gruppierungsreihenfolge
darf nur ausgewählte Spalten oder Ausdrücke verwenden und verwendet definitiv alle ausgewählten Spaltenausdrücke | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
时常,你会发现使用GROUP BY分组的数据的确是以分组顺序输出的。但是并非总是如此,并且实际上SQL规范也并没有如此要求。而且你实际上可能希望它以不同于分组的方式进行排序。你以一种方式对数据进行分组(以获得特定于分组的聚合值),并不意味着你也希望输出以相同的方式进行排序。总是应该还提供一个显式的ORDER BY子句,即使它与GROUP BY子句完全相同。 提示:不要忘记ORDER 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子句和它们的顺序
推荐教程:《Oracle视频教程》 |
Das obige ist der detaillierte Inhalt vonDas Oracle-Beispiel erklärt gruppierte Daten im Detail. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

oracle asm指的是“自动存储管理”,是一种卷管理器,可自动管理磁盘组并提供有效的数据冗余功能;它是做为单独的Oracle实例实施和部署。asm的优势:1、配置简单、可最大化推动数据库合并的存储资源利用;2、支持BIGFILE文件等。

方法:1、利用“select*from user_indexes where table_name=表名”语句查询表中索引;2、利用“select*from all_indexes where table_name=表名”语句查询所有索引。

在Oracle中,可利用lsnrctl命令查询端口号,该命令是Oracle的监听命令;在启动、关闭或重启oracle监听器之前可使用该命令检查oracle监听器的状态,语法为“lsnrctl status”,结果PORT后的内容就是端口号。

在oracle中,可以利用“TO_SINGLE_BYTE(String)”将全角转换为半角;“TO_SINGLE_BYTE”函数可以将参数中所有多字节字符都替换为等价的单字节字符,只有当数据库字符集同时包含多字节和单字节字符的时候有效。

在oracle中,可以利用“drop sequence sequence名”来删除sequence;sequence是自动增加数字序列的意思,也就是序列号,序列号自动增加不能重置,因此需要利用drop sequence语句来删除序列。

在oracle中,可以利用“select ... From all_tab_columns where table_name=upper('表名') AND owner=upper('数据库登录用户名');”语句查询数据库表的数据类型。

方法:1、利用“LOWER(字段值)”将字段转为小写,或者利用“UPPER(字段值)”将字段转为大写;2、利用“REGEXP_LIKE(字符串,正则表达式,'i')”,当参数设置为“i”时,说明进行匹配不区分大小写。

方法:1、利用“alter system set sessions=修改后的数值 scope=spfile”语句修改session参数;2、修改参数之后利用“shutdown immediate – startup”语句重启服务器即可生效。


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version
