[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Избавиться от дублей при выводе из базы
Sergen
Доброго времени.
Никто не подскажет, как избавиться от одинаковых записей при запросе из базы?
Пробовал с помощью DISTINCT, не получается, потому что в запросе у меня стоят два поля. Оставляешь одно-работает, с двумя -выдает дубли



Спустя 42 минуты, 14 секунд (11.10.2011 - 22:35) caballero написал(а):
distinct не работать не может
значит записи не дублированные
дублирование означает совпадение ззначений ВСЕХ полей

Спустя 3 минуты, 52 секунды (11.10.2011 - 22:39) imbalance_hero написал(а):
Sergen
дубли по ОДНОМУ из нескольких колонок убираются через GROUP BY.

Спустя 19 минут, 39 секунд (11.10.2011 - 22:59) caballero написал(а):
Цитата
дубли по ОДНОМУ из нескольких колонок убираются через GROUP BY.


Только для остальных полей нужно указать функцию агрегации
иначе никак




Спустя 16 минут, 31 секунда (11.10.2011 - 23:15) imbalance_hero написал(а):
caballero
Я тебя не понял, объясни...

Спустя 7 минут, 34 секунды (11.10.2011 - 23:23) caballero написал(а):
Цитата
Я тебя не понял, объясни...

ты не меня не понял - ты не понял как работает GROUP BY

Спустя 5 минут, 24 секунды (11.10.2011 - 23:28) imbalance_hero написал(а):
caballero
Я знаю, как работает GROUP BY, в моём толковом словаре в голове отсутствует слово "агрегации", и если, допустим, я знаю действие, которое оно выполняет, то я его назову более простым и знакомым мне словом, а не заморским "агрегация".

Спустя 8 минут, 42 секунды (11.10.2011 - 23:37) caballero написал(а):
Цитата
то я его назову более простым и знакомым мне словом, а не заморским "агрегация".


и как же это ты знаешь про group by если не видел ни разу документации по БД
а там ведь черным по белому:
11.15.1. GROUP BY (Aggregate) Functions

Спустя 14 минут, 31 секунда (11.10.2011 - 23:51) imbalance_hero написал(а):
caballero
Нет смысла продолжать флеймить тему. Ты бы сказал, что ты использовал агрегацию, я скажу, что я использовал GROUP BY, а что такое GROUP BY - для меня это аргумент выборки, а как он называется - пустое место, главное знать, как работает, а не как называется.

Спустя 12 минут, 19 секунд (12.10.2011 - 00:04) caballero написал(а):
я говорил о ФУНКЦИЯХ
и это существенно в данном вопросе
потому что нелзя просто так избавиться от повторяющихся полей
либо записи совпадают по всем полям и тогда distinct
либо совпадают по части полей и тогда можно group by но встает вопрос а что делать с остальными полями - какой способ агрегации (извиняюсь - группировки) применить если это вообще применимо

Спустя 7 часов, 22 секунды (12.10.2011 - 07:04) Sergen написал(а):
Цитата (caballero @ 11.10.2011 - 19:35)
distinct  не работать не  может
значит  записи не  дублированные
дублирование  означает  совпадение  ззначений  ВСЕХ полей

Почему всех полей? Не соглашусь. У меня дубли по одному полю, остальные не совпадают. Ставлю этот спецификатор и одно поле-дубли в выводе исчезают. Кроме того, специально прочел по нему, действительно именно по одному полю можно.

Спустя 59 минут, 45 секунд (12.10.2011 - 08:04) redreem написал(а):
Цитата
либо записи совпадают по всем полям и тогда distinct

да, это была бы самая неиспользуемая конструкция в мускле тогда. в реальности 2 записи со всеми одинаковыми полями пожалуй и найти не так-то просто. distinct работает на оригинальность конкретного поля, а не всех. нескажу срабатывает ли он на оригинальность выборки для 2-х и более полей, но с одним - точно работает.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.