Вложенный запрос с уникальными значениями и фильтрация результата по дате
SELECT *
FROM
(
SELECT DISTINCT
date,
url,
description
LIKE "%t%" AS emails,
description LIKE "%s%" AS http,
user
FROM `table`
WHERE `field` = "test"
) AS tbl
WHERE tbl.date BETWEEN CAST('2022-04-01 0:00:00' AS DATETIME) AND CAST('2022-04-30 23:59:59' AS DATETIME);
Запрос заработал, но есть не уникальные значения, повторы по url, emails, как при выборке за апрель, если запись уже была в марте, не выводить её в выборке за апрель?
CREATE TABLE logs (
id int(11) AUTO_INCREMENT PRIMARY KEY NOT NULL,
date datetime DEFAULT NULL,
url text DEFAULT NULL,
actions text DEFAULT NULL,
field varchar(25) DEFAULT NULL,
description text DEFAULT NULL,
user varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
INSERT INTO logs (date, url, actions, field, description, user)
VALUES('2022-04-01 0:00:00', 'site.com', 'update', 'Contacts', '[email protected]', 'admin');
INSERT INTO logs (date, url, actions, field, description, user)
VALUES('2022-04-30 0:00:00', 'site.com', 'update', 'Contacts', '[email protected]', 'admin')
Здравствуйте, я получаю определенные данные уникальные и мне нужно их отфильтровать по дате, если я делаю это сразу, то получаются в первую очередь выводятся дубликаты, а мне это не нужно, нужно чтобы если например в запись была изменена в марте, а потом в апреле и выводя информацию за апрель, эта запись не попадала в результат, т.к она уже была затронута в марте , как так сделать?