![](/img/trans.png)
[英]How can I get the max value of multiple columns (and value of stringcolumn where datecolumn is max) and combine it into a single query?
[英]How i can get the max value of a sum of multiple columns in SQL?
我的桌子
Name column1 column2 column3
Julio 24 25 35
Jaime 30 40 35
这是我的查询
Select a.name, max(column1+column2+column3) from table group by name
我如何获得多列总和的最大值?
与查询你
select a.name, max(column1+column2+column3) from table group by name
结果将是所有名称及其列的总和,并假设每个名称将具有一个对应的行。
如果您需要与求和最大值对应的名称,请使用
select name, column1+column2+column3 as sum
from table t
join (select max(column1+column2+column3) as maxsum from table) t1
on t.column1+column2+column3 = t1.maxsum
要获得最大金额,请使用
select max(column1+column2+column3) as maxsum from table
我将使用order by
来处理此问题,并且fetch first 1 row only
(在Oracle 12+中):
Select a.name,
sum(coalesce(column1, 0) + coalesce(column2, 0) + coalesce(column3, 0)) as s
from table
group by a.name
order by sum(coalesce(column1, 0) + coalesce(column2, 0) + coalesce(column3, 0)) desc
fetch first 1 row only;
在早期版本中,使用子查询:
select t.*
from (Select a.name,
sum(coalesce(column1, 0) + coalesce(column2, 0) + coalesce(column3, 0)) as s
from table
group by a.name
order by sum(coalesce(column1, 0) + coalesce(column2, 0) + coalesce(column3, 0)) desc
) t
where rownum = 1;
我在SQL Server 2014中执行了此查询。希望对您有帮助
select name, max(column1+column2+column3) as MaxSum from table
group by name
having max(column1+column2+column3)= (select max(column1+column2+column3) from table)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.