2016-10-03 2 views
0

Это не стандарт MAX(column_name) ответ Я не думаю.Получите максимальное значение столбца после результатов запроса - sql

В принципе, я хочу, чтобы запрос возвращал таблицу с добавленным столбцом MaxTotalRev. Этот столбец должен быть заполнен только в том случае, если он является строкой с максимальным значением для TotalRev. Все остальные строки должны содержать этот столбец.

Это не должно влиять на порядок возврата результатов. Вместо этого он должен быть просто дополнительным столбцом на возвращаемой таблице.

т.е.

total_rev | max_total_rev 
------------------------- 
    1  |  null 
    3  |  3 
    2  |  null 
+2

Какие СУБД вы используете? mysql <> sql server. Ваши ответы будут разными. –

+2

Хорошо. Итак, что до сих пор пытались? Этот сайт предназначен для вопросов, это не место, чтобы сбрасывать список дел и ожидать, что кто-то другой сделает вашу работу за вас. –

+0

Вы можете использовать суб-выбор среди многих других вещей для этого. – scsimon

ответ

2

Вот один вариант с использованием window function - max/over - с case заявлением:

select total_rev, 
    case when total_rev = max(total_rev) over() then total_rev end as max_total_rev 
from yourtable 
Смежные вопросы