2015-09-13 2 views
-2

выберите сотрудника из каждого отделов, чье имя имеет минимальное количество символовOracle Sql запрос с Группировать

Для экс-

Name Deaprtment 
Raj  IT 
Raja IT 
Shyam IT 
Ravi CS 
Ram  CS 

Kamlesh EC 
Ajay EC 

Тогда выход должен быть

Name Department 
Raj IT 
Ram CS 
Ajay EC 

Поскольку в IT Раджа имеет минимум 3 символа и в CS Ram и аналогично в EC Ajay Итак, как написать этот запрос. Я пробовал много вещей, но не смог понять.

+0

Затем добавьте последний запрос вы пробовали, какие проблемы у вас с ним и возможными ошибками, вы получите –

ответ

0

Ваше описание звучит так, будто вы ищете кратчайшее имя в каждом отделе. Если да, то относительно простой подход заключается в использовании row_number():

select name, department 
from (select t.*, 
      row_number() over (partition by department order by length(name) desc) as seqnum 
     from table t 
    ) t 
where seqnum = 1; 
Смежные вопросы