есть табличка:
CREATE TABLE registration
(
id_reg INTEGER,
event INTEGER
CHECK (event IN (0, 1)),
number_auto VARCHAR(20),
id_place INTEGER,
currently_time TIMESTAMP,
id_security INTEGER,
PRIMARY KEY(id_reg),
FOREIGN KEY(number_auto) REFERENCES auto(number_auto) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY(id_security) REFERENCES security(id_security) ON UPDATE CASCADE,
FOREIGN KEY(id_place) REFERENCES m_parking(id_place) ON UPDATE CASCADE
);
Нужно при max(currently_time) проанализировать event, если event=0, то count++, если event=1 то ни плюсуем. при этом сделать группировку по number_auto
пример:
num_auto | event | currently_time
1 0 14
2 0 18
2 1 19
2 0 20
sum = 2
Сделал как-то так:
SELECT number_auto, max(currently_time) max_time, sum(case when event=0 then 1 end) event FROM registration
GROUP BY number_auto;
Но в запросе он выбирает из всех значений, а не конкретно из max(currently_time). Как связать sum с max(currently_time)?