By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE test (
`id` INTEGER,
`institutionid` INTEGER,
`domain_update` INTEGER,
`delete_data` INTEGER,
`date` DATETIME,
`processed` INTEGER
);
INSERT INTO test
(`id`, `institutionid`, `domain_update`, `delete_data`, `date`, `processed`)
VALUES
('1', '123', '1', '0', '2021-03-12', '0'),
('2', '523', '0', '0', '2021-03-22', '0'),
('3', '897', '0', '0', '2021-04-25', '0'),
('4', '645', '1', '0', '2021-05-11', '0'),
('5', '158', '0', '0', '2021-05-23', '0'),
('6', '123', '1', '0', '2021-06-03', '0'),
('7', '345', '0', '0', '2021-06-18', '0'),
('8', '897', '1', '0', '2021-06-28', '0'),
('9', '123', '1', '1', '2021-07-26', '0');
DELETE t1
FROM test t1 INNER JOIN test t2
ON (t2.institutionid, t2.domain_update, t2.delete_data, t2.processed) =
(t1.institutionid, t1.domain_update, t1.delete_data, t1.processed)
AND
t1.id > t2.id
WHERE t1.processed = 0;
SELECT * FROM test;
id | institutionid | domain_update | delete_data | date | processed |
---|---|---|---|---|---|
1 | 123 | 1 | 0 | 2021-03-12 00:00:00 | 0 |
2 | 523 | 0 | 0 | 2021-03-22 00:00:00 | 0 |
3 | 897 | 0 | 0 | 2021-04-25 00:00:00 | 0 |
4 | 645 | 1 | 0 | 2021-05-11 00:00:00 | 0 |
5 | 158 | 0 | 0 | 2021-05-23 00:00:00 | 0 |
7 | 345 | 0 | 0 | 2021-06-18 00:00:00 | 0 |
8 | 897 | 1 | 0 | 2021-06-28 00:00:00 | 0 |
9 | 123 | 1 | 1 | 2021-07-26 00:00:00 | 0 |