← Wszystkie zadaniaSQL · Senior
Przychód dzienny i suma narastająca
Dla każdego dnia ze sprzedażą wypisz day, revenue (suma z dnia) i running_total (suma od pierwszego dnia do tego włącznie), według daty. Jednego dnia może być kilka sprzedaży.
Tabele
CREATE TABLE sales (
id int PRIMARY KEY,
day date NOT NULL,
amount numeric(10, 2) NOT NULL
);Ctrl+Enter uruchamia testy. Tab robi wcięcie; aby wyjść z edytora klawiaturą, naciśnij Esc, a potem Tab. Kod zapisuje się w tej przeglądarce.
Testy (3)
Każdy test wypełnia tabele własnymi danymi i porównuje wynik twojego zapytania z oczekiwanym: te same kolumny (nazwy i kolejność) i te same wiersze w tej samej kolejności, więc ORDER BY ma znaczenie. Zapytanie działa w prawdziwym PostgreSQL prosto w przeglądarce; pierwsze uruchomienie go pobiera (około 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);