Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Исключить повторяющиеся значения при SELECT / 8 сообщений из 8, страница 1 из 1
23.01.2016, 14:56:45
    #39153616
murtukov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключить повторяющиеся значения при SELECT
Всем привет!

Мне нужно убрать из результатов SELECT'а все повторяющиеся значения (оставив лишь одно из них).
DISTINCT не подходит, потому что он проверяет все поля в совокупности.
Например, если есть 3 поля, и мне нужно вывести все 3, но при этом нужно применить DISTINCT только к первым двум, а не ко всем, как быть?

GROUP BY подошел бы, если бы мне нужно было проверять повторения по одному полю. Но вот как быть с двумя и бОльшим количеством полей - не знаю. Вот в PostgreSQL можно было бы просто написать DISTINCT ON ( тут перечислить поля ).

Спасибо
...
Рейтинг: 0 / 0
23.01.2016, 15:27:06
    #39153628
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключить повторяющиеся значения при SELECT
murtukovGROUP BY подошел бы, если бы мне нужно было проверять повторения по одному полю. Но вот как быть с двумя и бОльшим количеством полей - не знаю.В GROUP BY можно и несколько выражений писать, не обязательно одно.
...
Рейтинг: 0 / 0
23.01.2016, 15:42:21
    #39153638
murtukov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключить повторяющиеся значения при SELECT
Но оно в отличие от DISTINCT не проверяет поля в совокупности, если вы понимаете о чем я.
Нужно, чтобы исключались только те строки, где повторяются значения и в первом поле и во втором.
Говоря языком программирования, нужен
Код: php
1.
if(field1 AND field2)

а не
Код: php
1.
if(field1 OR field2).
...
Рейтинг: 0 / 0
23.01.2016, 15:47:27
    #39153641
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключить повторяющиеся значения при SELECT
murtukov,

Ничего не понял.
Не вижу, что мешает написать GROUP BY field1, field2.
Если это не устраивает, то показывайте конкретный пример исходных данных и желаемого результата.
...
Рейтинг: 0 / 0
23.01.2016, 18:22:47
    #39153680
murtukov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключить повторяющиеся значения при SELECT
miksoft,

все верно говорите, я кое-что проглядел и условие неверно составил.
Условие такое: усключить из результатов все повторяющиеся строки по полю name , у которых status = true

Пример: есть таблица


Надо сделать запрос, чтобы в результате получилось это:


Строка 5 не удалилась, потому что у нее статус false.
...
Рейтинг: 0 / 0
23.01.2016, 23:37:26
    #39153800
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключить повторяющиеся значения при SELECT
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
  SELECT MIN(id) id, name, status
  FROM `table`
  WHERE status = 'true'
  GROUP BY name, status
UNION ALL
  SELECT id, name, status
  FROM `table`
  WHERE status <> 'true'
...
Рейтинг: 0 / 0
24.01.2016, 16:39:39
    #39153974
murtukov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключить повторяющиеся значения при SELECT
Akina,

спасибо, именно то что надо!(
...
Рейтинг: 0 / 0
24.01.2016, 18:02:11
    #39154004
murtukov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключить повторяющиеся значения при SELECT
murtukov, смайлик не тот вставил)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Исключить повторяющиеся значения при SELECT / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]