Ich schreibe eine Abfrage, um Datensätze aus einem Oracle-Warehouse abzurufen. Es ist eine einfache Select-Abfrage mit Joins auf einigen Tabellen und ich habe wenige Spalten, die aggregiert werden sollen. Daher verwende ich Groupby im Rest der Spalten.
Sagen wir, dass ich einige 10 Spalten auswähle, von denen 5 Aggregatspalten sind. also muss ich auf den anderen 5 Spalten gruppieren. Ich kann sogar dasselbe erreichen, indem ich keine Groupby tue und over (paritition by) -Klausel für jede einzelne Aggregatspalte verwende, die ich ableiten möchte.
Ich bin nicht sicher, was besser gegen ein Lagerhaus oder allgemein ist.
Sie sind nicht gleich.
Dies wird 3 Zeilen zurückgeben:
%Vor%Dies wird 14 zurückgeben:
%Vor%Überprüfen Sie diesen Link Der Hauptunterschied zwischen Aggregat- und Analysefunktionen besteht darin, dass analytische Funktionen, obwohl sie aggregierte Ergebnisse liefern, die Ergebnismenge nicht gruppieren. Sie geben den Gruppenwert mehrfach mit jedem Datensatz zurück.
Tags und Links sql oracle data-warehouse analytic-functions