基于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
。