2014-12-15 3 views
-3

Я хочу один случайный ролл для каждой службы. Значения «Группа» должны применяться к Сервису, но rollno может быть случайным в соответствии с сервисом.Postgresql fetch различная запись

 
    ---------------------- 
    | rollno | service | 
    ---------------------- 
    | 2134  | 2  | 
    | 3127  | 2  | 
    | 8426  | 1  | 
    | 9387  | 1  | 
    | 1456  | 1  | 
    | 7754  | 3  | 
    | 8941  | 3  | 
    | 3870  | 3  | 
    ------------------------ 

Я хочу, чтобы результат, как показано ниже

 
    ---------------------- 
    | rollno | service | 
    ---------------------- 
    | 2134  | 2  | 
    | 8426  | 1  | 
    | 7754  | 3  | 
    ------------------------ 
+3

Добро пожаловать в переполнение стека. Это не очень хороший способ задать вопрос здесь. Вы попробовали что-нибудь до сих пор, чтобы решить вашу проблему? Покажите свои усилия, чтобы люди могли показать их. Пожалуйста, прочитайте [Как спросить] (http://stackoverflow.com/help/how-to-ask) и [справочный центр] (http://stackoverflow.com/help) как начало .. –

+0

@a_horse_with_no_name rollno не имеет значения, это может быть случайным. –

+0

@ AndyKorneyev Я пробовал это раньше. я постараюсь больше решить мою проблему. спасибо за ценное предложение. –

ответ

0

Если вы не заботитесь , которыйrollno возвращается, то это простая группа по запросу:

Следующая даст вы самый низкий rollno для каждой службы.

select min(rollno) as rollno 
     service 
from the_table 
group by service; 

Если вы хотите самую высокую rollno (который не видно из вашего примера), а затем просто использовать max() вместо min().

+0

спасибо, что это работает. –

+0

Что делать для случайных роллонов? –

+0

@DhairyaLakhera: если значение действительно не имеет значения, придерживайтесь 'min()' или 'max()'. Это будет самое быстрое решение. –

Смежные вопросы