- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Вобщем есть 2 таблицы: news u images связаны по полю news.id=images.item_id
Если в новости есть больше 1-й фотографии, то выводит новости столько раз сколько фотографий http://agroboard.com/ (справа раздел Новые статьи, статьи о сортах картошки продублировало.)
Как убрать дубли? Почему не работает distinct ?
Вот запрос:
select distinct news.*, images.image_s from news inner join images on news.id=images.item_id and image_type='1' and news.active='1' order by news.id desc limit 0
Как убрать дубли? Почему не работает distinct ?
DISTINCT говорит "выводить только уникальные строки" :) А разве они в Вашем запросе уникальные ?
Посмотрите на вывод запроса, у вас images.image_s для каждой картинки ведь свой :) Или убирайте images.image_s или ставьте агрегат например min( images.image_s ) и group by ...
Как Вы хотите использовать результат данного запроса, для чего он Вам нужен ?
Как убрать дубли?
Сделать два запроса. Сначала выбрать новости с нужное количество новостей, пройтись по ним циклом, собрать ID и сделать второй запрос к таблице с картинками используя WHERE news_id IN (ID1, ID2, ... , IDN).
Почему не работает distinct
Потому что в результате джойна строки результирующей таблицы все уникальные.