Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбор уникальных значений при определенных условиях / 3 сообщений из 3, страница 1 из 1
29.11.2013, 01:14:27
    #38482729
Dr.Amid
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор уникальных значений при определенных условиях
Всем привет.

Есть таблица:

id state

1 3

1 5

2 2

2 1

2 4

3 1

3 4

3 5


Мне нужно получит на выходе таблицу в уникальными значениями по полю id и если в какой-то момент попадается state=4, то должен выводиться именно он, если значения state=4 для текущего id нет, то выводить любое поле с данным id

Т.е. результат должен быть такой:

id state

1 3

2 4

3 4

Помогите пожалуйста, уже голову сломал.
...
Рейтинг: 0 / 0
29.11.2013, 04:32:05
    #38482773
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор уникальных значений при определенных условиях
Dr.Amid,

а если бы задача стояла не =4, а равно минимальному значению стейт среди записей с тем же айди- решил бы???

вроде как в шапке прилеплено.

так вот абсолютное_значение(стейт-4) будет минимальным именно для четырёх :)


а вообще по аналогии


выбрать дистинк айди1 стейт1
из
таблица1 джоин левый (таблица2 где стейт =4) по (где айди1 = айди2)

где стейт1=4 ИЛИ стейт1 НЕ =4 и стейт2 ТОЧНО НУЛЛ

то что после или, это те строчки для которых не нашлось соответсвия - тоесть те айди, для которых стейт 4 не существует. то что до или, оставит айдишники для которых стейт 4 существует.
...
Рейтинг: 0 / 0
29.11.2013, 08:54:10
    #38482848
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор уникальных значений при определенных условиях
Код: sql
1.
2.
3.
select id,abs(max(if(state=4,4,-state)))state
from tab
group by id
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбор уникальных значений при определенных условиях / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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