查询结果后获取列的最大值 - sql

时间:2016-10-03 15:20:37

标签: sql sql-server

这不是我不会想到的标准MAX(column_name)答案。

基本上,我希望查询返回一个添加了列MaxTotalRev的表。如果该列是具有TotalRev最大值的行,则只应填充该列。所有其他行应该将此列设置为空。

这不应影响返回结果的顺序。相反,它应该只是返回表上的一个附加列。

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

1 个答案:

答案 0 :(得分: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