← Усі задачіSQL · Senior

Виручка за день і наростальний підсумок

За кожен день, коли були продажі, виведіть day, revenue (сума за день) і running_total (сума з першого дня до цього включно), за датою. В один день може бути кілька продажів.

Таблиці

CREATE TABLE sales (
  id     int PRIMARY KEY,
  day    date NOT NULL,
  amount numeric(10, 2) NOT NULL
);

Тести (3)

Кожен тест заповнює таблиці своїми даними й порівнює результат вашого запиту з очікуваним: ті самі колонки (назви й порядок) і ті самі рядки в тому самому порядку, тож ORDER BY важливий. Запит виконується в справжньому PostgreSQL просто в браузері; перший запуск завантажує його (близько 5 МБ).

  1. 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);
  2. -- 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);
  3. INSERT INTO sales VALUES (1, '2024-01-01', 99.99);