Имеет ли смысл использовать distinct и group by в одном запросе Mysql?
Допустим у нас есть таблица
CREATE TABLE users (
id int(10) unsigned NOT NULL auto_increment,
x int(10) NOT NULL,
y int(10) NOT NULL,
z int(10) NOT NULL,
PRIMARY KEY (id)
)
и имеется запрос
select distinct(table.*) from table group by x;
Имеет ли смысл в данной конструкции использовать group by? Что подсказывает мне логика. Мы в таблице записи группируем по полю х, при этом остальные поля у нас будут в каждом запросе случайны из группы. Например в запросе
select max(id), x, y, z from table group by x;
Для каждой группы x найдется максимальный id, но вот поля y, z не будут иметь отношений к строке с максимальным id. Т.е. смысла их выводить особого нет. А если рассмотреть первый запрос, то смысл мне не особо понятен. У нас строки так и так уже уникальны. Возможно я где-то не прав и ошибаюсь?
Источник: Stack Overflow на русском