Вложенный запрос с уникальными значениями и фильтрация результата по дате

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') 

Здравствуйте, я получаю определенные данные уникальные и мне нужно их отфильтровать по дате, если я делаю это сразу, то получаются в первую очередь выводятся дубликаты, а мне это не нужно, нужно чтобы если например в запись была изменена в марте, а потом в апреле и выводя информацию за апрель, эта запись не попадала в результат, т.к она уже была затронута в марте , как так сделать?


Ответы (0 шт):