← Alle AufgabenSQL · Senior
Tagesumsatz und laufende Summe
Liste für jeden Tag mit Verkäufen day, revenue (die Summe des Tages) und running_total (die Summe vom ersten Tag bis einschließlich diesem) auf, sortiert nach Datum. Ein Tag kann mehrere Verkäufe haben.
Tabellen
CREATE TABLE sales (
id int PRIMARY KEY,
day date NOT NULL,
amount numeric(10, 2) NOT NULL
);Strg+Enter führt die Tests aus. Tab rückt ein; um den Editor per Tastatur zu verlassen, drücke Esc und dann Tab. Der Code wird in diesem Browser gespeichert.
Tests (3)
Jeder Test füllt die Tabellen mit eigenen Daten und vergleicht das Ergebnis deiner Abfrage mit dem erwarteten: dieselben Spalten (Namen und Reihenfolge) und dieselben Zeilen in derselben Reihenfolge, ORDER BY zählt also. Die Abfrage läuft in echtem PostgreSQL direkt im Browser; der erste Start lädt es herunter (etwa 5 MB).
INSERT INTO sales VALUES (1, '2024-03-01', 100.00), (2, '2024-03-01', 50.00), (3, '2024-03-02', 30.00), (4, '2024-03-04', 20.00);
-- rows are not inserted in date order INSERT INTO sales VALUES (1, '2024-05-03', 5.00), (2, '2024-05-01', 10.00), (3, '2024-05-02', 1.50), (4, '2024-05-01', 2.50);
INSERT INTO sales VALUES (1, '2024-01-01', 99.99);