基于shiftno计算金额的Sql查询?

基于shiftno计算金额的Sql查询?,sql,sql-server,Sql,Sql Server,我的桌子看起来像这样: shiftno sno Amount 100 7 20 8 50 101 9 10 10 30 11 20 我尝试了这个问题 select SUM(Amount) from example where shiftNo = (select (max(shiftNo)) fro

我的桌子看起来像这样:

shiftno     sno     Amount
  100         7       20
              8       50
  101         9       10
             10       30
             11       20
我尝试了这个问题

select SUM(Amount) 
from example 
where shiftNo = (select (max(shiftNo)) from example
它显示结果=10,但实际结果为10+30+20=60。它属于shiftno=101


如何获得60的总结果?

如果您想要最高的
移位,请使用
限制1

如果您想要所有
shiftNo
及其
金额
,请保留
限制
行:

 select shiftNo, SUM(Amount) as MaxAmount
 from exmple 
 group by shiftNo
 order by shiftNo desc
 limit 1

如果您想要最高的
移位no
使用
限制1

如果您想要所有
shiftNo
及其
金额
,请保留
限制
行:

 select shiftNo, SUM(Amount) as MaxAmount
 from exmple 
 group by shiftNo
 order by shiftNo desc
 limit 1

您已经标记了sql server和mysql,因为提供的示例数据10似乎是正确的结果。sno 10和sno 11的移位是否未输入或故意留空/空?什么是sno?中间行的shiftNo真的是空的吗?您已经标记了sql server和mysql??因为提供的示例数据10似乎是正确的结果。sno 10和sno 11的移位是否未输入或故意留空/空?什么是sno?中间几行的shiftNo真的是空的吗?@Filburt:你说得对。我更正了它,以输出最高的
shiftNo
,而不是最高的
amount
@Filburt:你是对的。我将其更正为输出最高的
shiftNo
,而不是最高的
amount