Назад к задачам
Junior — Senior
5

Получение самого свежего договора для каждого клиента

Компании, где спрашивали:

СБЕРСБЕР
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

В таблице contract хранятся сведения о договорах клиентов. У одного клиента может быть несколько записей с разными датами заключения. Необходимо составить SQL‑запрос, который для каждого клиента (поле client) выберет запись с наибольшей датой (date) – то есть самый актуальный договор.

CREATE TABLE contract (id integerm client varchar(100), date date)

INSERT INTO contract(id, client, date) VALUES (1, 'Jan', '2000-01-01');
INSERT INTO contract(id, client, date) VALUES (2, 'Jan', '2000-01-02');
INSERT INTO contract(id, client, date) VALUES (3, 'Jan', '2000-01-03');

INSERT INTO contract(id, client, date) VALUES (1, 'Alice', '2000-01-04');
INSERT INTO contract(id, client, date) VALUES (2, 'Alice', '2000-01-05');
INSERT INTO contract(id, client, date) VALUES (3, 'Alice', '2000-01-06');

INSERT INTO contract(id, client, date) VALUES (1, 'Bod', '2000-01-07');
INSERT INTO contract(id, client, date) VALUES (1, 'Bod', '2000-01-08');
INSERT INTO contract(id, client, date) VALUES (1, 'Bod', '2000-01-09');