Я пытаюсь выполнить простой запрос на выборку, который отфильтровывает дублирующиеся данные, как это было возможно в версиях mysql ниже 5.6.
Я провел много исследований в Интернете и перепробовал все, что янашел, но я все еще не понимаю суть.
CREATE TABLE Test (
id int(11) unsigned NOT NULL AUTO_INCREMENT,
Comment text,
commentOnId int(11) DEFAULT NULL,
Time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
insert into test (comment, commentonid)
VALUES
('My first comment', null),
('reply 1',1),
('reply 2',1);`
select id, comment, commentonid from Test group by commentonid;
select id, comment, distinct commentonid from Test group by commentonid;
select id, comment, distinct commentonid from Test;
select id, comment, ANY_VALUE(commentonid) as unique from Test group by unique;
select id, comment, distinct ANY_VALUE(commentonid) from Test;`
`select id, comment, MIN(commentonid) from Test;
Каждый из запросов на выбор завершается ошибкой или, по крайней мере, не получает желаемого результата.
Я хочу получить уникальное поле commentOn
, так как есть два поля со значением 1
. Как правильно использовать оператор select для получения уникальных данных в MySQL 8.0?