如何使用SQL对MySQL表中按ticker分组的多行多列值求和
实现方案
你可以直接通过GROUP BY对ticker字段分组,同时在聚合函数内计算对应列的求和结果,SQL语句如下:
SELECT ticker, SUM(shares) AS `SUM(shares)`, SUM(shares * price) AS `SUM(spent)` FROM bought GROUP BY ticker ORDER BY ticker;
逻辑说明
GROUP BY ticker会将所有相同股票代码的记录合并为同一组SUM(shares):对同一组内所有记录的持仓数量求和,得到该股票的总持仓量SUM(shares * price):先计算单条记录的持仓支出,再对同一组内所有支出求和,得到该股票的总购买支出
如果需要更易读的字段别名,可以将SUM(shares)和SUM(spent)替换为自定义名称,比如total_shares、total_spent。
内容的提问来源于stack exchange,提问作者Bootstrapper
相关产品推荐
相关产品推荐

