Oracle , ein führender Datenbank-Anwendung , bietet viele analytische Funktionen , die Entwicklern die Aufgaben in einem Structured Query Language oder SQL , um eine prozedurale Sprache, die mit weit mehr Einschränkungen kommt im Gegensatz ausführen können. Beispiele für Oracle analytische Funktionen gehören Avg, Count , Lag, Percent Rank und Varianz . Funktion
Analytische Funktionen kombinieren eine Gruppe von Zeilen , um einen Gesamtwert zu berechnen. Jede spezifische Funktion erfüllt das Kunststück, in einer anderen Art und Weise , aber alle analytischen Funktionen liefern einen deutlichen Vorteil gegenüber üblichen Aggregatfunktionen, weil sie mehrere Zeilen für jede Gruppe zurückkehren können . Benutzer typischerweise analytische Funktionen , um so unterschiedliche Arten von Aggregaten als kumulative , sich bewegenden , zentriert oder Berichterstattung.
Funktionen
Während die Syntax für jede Funktion leicht variieren kann berechnen , die grundlegende Syntax Struktur für eine Oracle- analytische Funktion besteht aus den gleichen drei Komponenten: die analytische Funktion , die Argumente und die analytische Ursache. Die Syntax kann als " analytic_function ( [ Argumente ] ) OVER ( analytic_clause ) " eingegeben werden. Die analytische Funktion kann zwischen null und drei Argumente übernehmen , mit Argumenten aus allen numerischen Daten. Die analytische Klausel Abschnitt kann von einer Abfrage partition-Klausel , einer order-by - Klasse Ursache oder einem Fenstersystem Klausel bestehen .
Typen
Jeder der drei analytische Klauseln in einer analytischen Funktion führt eine besondere Aufgabe . Eine Abfrage partition-Klausel teilt das Ergebnis in Gruppen von Daten festgelegt , die Trennung der Daten in Partitionen . Diese Funktion ermöglicht eine größere Anpassung und effizientere Organisation von Daten. Die order by-Klausel geht einen Schritt weiter , Bestellung Zeilen innerhalb einer Partition für noch mehr Präzision. Schließlich arbeitet die Fensterung Klausel als eine Erweiterung der order by-Klausel , Bestimmung eines bestimmten Bereichs von Zeilen aus dem geordneten Partition zu beeinflussen . Ein Fenstersystem Klausel verwendet werden kann nur, wenn eine order by-Klausel bereits vorhanden ist.
Überlegungen
Bei der Eingabe der Syntax für die gegebene analytische Funktion , können Sie bestimmte Begriffe hinzufügen weitere Formulierung der resultierenden Daten . Zum Beispiel stellen ASC und DESC " aufsteigend " und " absteigend ", jeweils bei der Angabe einer Bestellung Sequenz . Addiert man die Begriffe NULLS FIRST oder LAST NULLS bestimmt, ob zurückgegebenen Zeilen ohne Daten angezeigt erste oder letzte werden sollte. Beim Arbeiten mit einem Fenstersystem Klausel gibt Zeilen, die das gezielte Fenster in physikalischen Einheiten , während RANGE legt das Fenster als eine logische Gruppe von Zeilen . Sie können auch festlegen, eines Fensters Ausgangspunkt mit CURRENT ROW oder sogar UNBOUNDED PRECEDING , die den Ausgangspunkt stellt bei der ersten Zeile der Partition. Der Begriff UNBOUNDED FOLGENDE gibt das Fenster endet an der Partition letzte Reihe .