Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Не выводить дублируюшейся записи


Автор: Папараццы 11.12.2006, 16:50
нужен запрос который не будет выводить дубликаты записей....
У меня код был такой 
Код

SELECT m_year FROM magale WHERE m_author LIKE '%$il' ORDER BY m_year DESC


Потом намудрил зделал что то вроде этого 

Код

SELECT  `m_year`, COUNT(`m_year`) FROM magale  WHERE  m_author LIKE '%$il' GROUP BY `m_year` HAVING COUNT(`m_year`) > 1

При втором варианте не повторяются записи только вот не всё показивоет.........нет под рукой справочника если кто помнит как это делоется подскажите

Автор: skyboy 11.12.2006, 16:55
обрати внимание на выделение:
Цитата

SELECT  `m_year`, COUNT(`m_year`) FROM magale  WHERE  m_author LIKE '%$il' GROUP BY `m_year` HAVING COUNT(`m_year`) > 1

Как думаешь, отчего выводит не все? Так ты условие добавил: выводить только те года,которые встречаются более одного раза. Зачем это условие?
Потом, если тебе не нужно количество, а нужна только уникальность, вместо GROUP BY можно воспользоваться DISTINCT:
Код

SELECT DISTINCT m_year FROM magale WHERE m_author LIKE '%$il' ORDER BY m_year DESC

Автор: Папараццы 11.12.2006, 19:00
ThANKs A loT... Две темки по ошибки получились....Надо бы модеру стереть одну....сорри

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)