首页 > 解决方案 > 对 sqlite3 中具有相同 id 的所有行求和

问题描述

我正在使用 sqlite3,我有下表:

桌子

“谁”代表用户的ID。说 ID 为“4”的人代表“约翰”。约翰进行了 7 次购买。我想要一个汇总约翰所有股份的选择查询。所以基于“4”中谁的股票选择查询返回113。我该怎么做?

标签: sqlsqlitesumaggregate-functions

解决方案


你想要一个where子句和一个sum()

select sum(shares) as total_shares
from mytable
where who = 4

或者,如果您希望一次为所有用户提供结果,每个用户在单独的行中:

select who, sum(shares) as total_shares
from mytable
group by who

如果您愿意,您还可以计算每个用户有多少条记录:

select who, sum(shares) as total_shares, count(*) as cnt
from mytable
group by who

推荐阅读