Wie gruppiere ich jeden Tag in PL / SQL?

7

Ich versuche Statistiken für jeden Tag mit PL / SQL zu erhalten.

Jeder Tag hat mehrere Einträge, Fehler :-) Ich möchte sie am Tag gruppieren.

Was ich gerade mache:

%Vor%

Dies führt zu ORA-00904: "DAY": ungültiger Bezeichner (stoppt bei der Gruppe durch).

Irgendwelche Hilfe? : D

    
Jason94 12.04.2012, 12:04
quelle

3 Antworten

17
%Vor%

Spalten Aliase sind nicht gut für GROUP BY , Sie brauchen den vollständigen Ausdruck.

    
Erkan Haspulat 12.04.2012, 12:07
quelle
4

Ihr Problem ist ein Umfangsproblem. Die GROUP BY -Klausel ist Teil des Tabellenausdrucks der Anweisung und wird daher vor der SELECT -Klausel, d. H. Der Projektion, ausgewertet. Dies bedeutet, dass Ihre projizierten Aliase zum Zeitpunkt der Gruppierung nicht verfügbar sind. Dies ist eine Lösung

%Vor%

das ist ein anderes:

%Vor%

Nicht standardmäßiges Verhalten

Beachten Sie, dass einige Datenbanken (einschließlich MySQL, PostgreSQL und andere) erlauben, Spaltenaliasnamen aus der Projektion in der GROUP BY -Klausel zu referenzieren. In strengeren SQL-Dialekten (wie Oracle) sollte das allerdings nicht möglich sein

    
Lukas Eder 12.04.2012 12:07
quelle
2
%Vor%

Sie können Aliase in Gruppen nicht mit

verwenden     
Raphaël Althaus 12.04.2012 12:07
quelle

Tags und Links