mysql - 获取2列的总和并在sql中将它们相乘?

标签 mysql sql sum

有人可以帮我解决这个问题吗?

 SELECT x.poid
      , COUNT(b.poitemsid)
      , SUM(SUM(unitprice) * SUM(qty))
      , recievedate inventoryrecieved as c 
   FULL 
  OUTER 
   JOIN poitems b 
     ON c.poitemsid = b.poitemsid 
   FULL 
  OUTER 
   JOIN purchaseorder x  
     ON b.poid = x.poid 
  GROUP 
     BY x.poid 
      , podate
      , b.poitemsid
      , recievedate
      , unitprice
      , qty

最佳答案

我认为您正在寻找:

select po.POID, Count(p.POItemsID),
       Sum(UnitPrice * Qty),
       RecieveDate
from InventoryRecieved ic join
     POItems p
     on ic.POItemsID = p.POItemsID join
     PurchaseOrder po
     on p.POID = po.POID
group by po.POID, p.POItemsID, RecieveDate;

注释:

  • 问题的解决方案是一个简单的乘积 sum()
  • MySQL 不支持完全外连接。基本的内部联接应该没问题。
  • 您的分组依据仅需要select中未聚合的列。
  • 建议使用表名称缩写的表别名。

关于mysql - 获取2列的总和并在sql中将它们相乘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45907372/

相关文章:

mysql - 我需要帮助在 MySQL 中编写求和查询

mysql - 使用node-orm2进行mysql后端的数据库更新问题

mysql - 调用存储过程的触发器正在更新表中的每个数据,而不是只更新一个

mysql - 获得 "foreign key constraint fails"即使我有 "on delete cascade"

java - 是否可以在不装箱/拆箱的情况下添加包装数字?

python - 我如何总结 Django 模型的内容

php - MySQL 删除/合并相似的行

mysql - MySQL 的日期时间操作

sql - 如果未明确使用 ISNULL,则左连接失败

MySQL "join as"?