Gruppe nach vs Partition von in Oracle

7

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.

    
David Faber 27.07.2011, 16:21
quelle

3 Antworten

18

Sie sind nicht gleich.

Dies wird 3 Zeilen zurückgeben:

%Vor%

Dies wird 14 zurückgeben:

%Vor%     
Tony Andrews 27.07.2011, 16:26
quelle
5

Ü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.

    
Anurag Peshne 02.10.2012 14:02
quelle
-1

Mit PARTITON BY ist es möglich, dies in einer Abfrage zu tun, um andere Berechnungen oder Gruppierungen zu erhalten.

%Vor%     
SLAVICA 28.10.2016 14:00
quelle