Есть запрос который выбирает все записи в определенном диапазоне дат. Работает , но я столкнулся с проблемой. У меня есть еще после email в нем бывают часто одинаковые емайлы. Как сделать так чтобы в этом диапазоне дат выбиралась только одна строчка с один емайлом . Вроде можно с DISTINCT но нужно вместо * указать конкретный столбец а мне нужны все выбирать и потом их обрабатывать Код (Text): SELECT * FROM `infodate` where `date` BETWEEN '".$date1."' AND '".$date2."' ORDER by `date`
Да получилось Можете объяснить в чем разница между GROUP BY `infodate`.`email` и GROUP BY `email` работает так и так . я понимаю что вначале указываем имя таблицы. Это будет ошибкой если я не укажу сначало таблицу? Код (Text): SELECT DISTINCT * FROM `infodate` where `date` BETWEEN '".$date1."' AND '".$date2."' GROUP BY `infodate`.`email`
Имя таблицы нужно указывать, когда в запросе имеются несколько таблиц с потенциально одинаковыми названиями столбцов. Для удобства можно использовать алиасы. Код (Text): select a.*, b.id from table1 a left join table1 b on b.id = a.id;