2016-03-26 5 views
0

У меня есть ситуация с данными таблицы, как на картинке, и я хотел бы выбрать форму min (code) и second_min (code) каждого уникального члена.Поиск min() и second min() для каждого члена

enter image description here

т.е. выход желание будет выглядеть

member | min(code)  | second_min(code) 
------------------------------------- 
1234 |  A  |  B 
2345 |  A  |  C 
3456 |  B  |  NULL 
4567 |  A  |  NULL 
6789 |  C  |  NULL 
8765 |  NULL |  NULL 

Выбор в мин() является прямым & у меня есть проблемы в обрамление SQL для поиска second_min. Любая помощь будет оценена по достоинству.

ответ

1

Ниже приведен пример того, как найти вторую min значения из любой таблицы:

select min(value) 
from table 
where value <> (
select min(value) form table 
); 

Вы можете добавить где условие в запросе в соответствии с требованием. Обратите внимание, что это может дать вам 0, если значение не существует, в этом случае вы можете использовать оператор case, если хотите отобразить другой вывод.