PostgreSQL - die erste Zeile wird als Summe der anderen Zeilen angezeigt

7

Gibt es eine Möglichkeit, die erste Zeile anders als den Rest zu machen, so dass die Summe der entsprechenden Spalten angezeigt wird?

Zum Beispiel:

%Vor%

Ist es möglich, eine Abfrage so zu machen, oder es ist gegen die Logik von SQL? Es wäre so (ignoriere die erste Zeile für jetzt):

%Vor%

Also wäre die erste Reihe anders. Es würde das Wort "total" anstelle des Obstnamens anzeigen und würde die Gesamtsumme von a (1 + 1 + 1 = 3), b (2 + 1 + 1 = 4) und c (3 + 2 + 1 = 6) anzeigen. . Ist das möglich? Danke

    
Andrius 12.12.2012, 12:32
quelle

3 Antworten

17

Sie können einen zweiten vollständigen Scan der Tabelle mit einem CTE vermeiden:

PostgreSQL 9.2 Schema :

%Vor%

Abfrage :

%Vor%

Ergebnisse :

%Vor%

SQL Geige hier

    
user533832 12.12.2012, 14:27
quelle
7

Dies ist jetzt in Version 9.5 von Postgres möglich :

PostgreSQL 9.5 Schema

%Vor%

Abfrage

%Vor%

Ergebnisse

%Vor%

Dieses ROLLUP entspricht der Verwendung eines Ausdrucks mit GROUPING SETS :

%Vor%

Jede Unterliste in GROUPING SETS wird genauso interpretiert, als wäre sie direkt in der GROUP BY-Klausel.

    
Scott Staniewicz 17.03.2016 13:15
quelle
5
%Vor%     
edze 12.12.2012 12:40
quelle

Tags und Links