add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE tbl_crps (id INT, crp INT, starts_on DATE);
INSERT INTO tbl_crps VALUES
(1, 20, '2020-02-09'),
(2, 31, '2019-06-05'),
(3, 20, '2018-01-10'),
(4, 31, '2021-07-03'),
(5, 58, '2022-01-01'),
(6, 58, '2025-02-02');
SELECT id, crp, starts_on
FROM tbl_crps
NATURAL JOIN (SELECT crp, MAX(id) id
FROM tbl_crps
WHERE starts_on < CURRENT_DATE
GROUP BY crp) x
UNION ALL
SELECT id, crp, starts_on
FROM tbl_crps
NATURAL JOIN (SELECT crp, MAX(id) id
FROM tbl_crps
GROUP BY crp
HAVING MIN(starts_on) >= CURRENT_DATE) x;
id crp starts_on
2 31 2019-06-05
3 20 2018-01-10
6 58 2025-02-02