【问题标题】:Sum total amount returned from query查询返回的总金额
【发布时间】:2009-11-20 23:09:54
【问题描述】:

我在下面有一个查询,它返回单个销售记录以及为特定产品 SKU 下的每个订单的金额。我将如何对总金额求和?该列是我需要求和的“extprice”。任何帮助将不胜感激,谢谢...

select       partno4pt,orders.orderdate,orders.processdate,orderdetails.qty,orderdetails.extprice
from orderdetails
inner join  orders
on orderdetails.order_id = orders.order_id
where orderdate > '2009.01.17 09:00:00' 
and partnumber like '%m9150%' 
and orders.processdate is not null

【问题讨论】:

  • @JackM:如果您要请某人格式化他们的代码,至少提供一个指向降价参考的链接,以便他们知道您在说什么:stackoverflow.com/editing-help

标签: sql sql-server


【解决方案1】:

我在这里假设一个简单的答案,因为这是一个简单的问题:

select SUM(orderdetails.extprice)
from orderdetails inner join orders on orderdetails.order_id = orders.order_id
where orderdate > '2009.01.17 09:00:00' and
partnumber like '%m9150%' and orders.processdate is not null

【讨论】:

    【解决方案2】:

    您可以只使用 SUM 聚合函数:

    select partno4pt,orders.orderdate,orders.processdate,orderdetails.qty,orderdetails.extprice, 
        SUM(orderdetails.extprice) AS sumprice from orderdetails 
        inner join orders on orderdetails.order_id = orders.order_id 
        where orderdate > '2009.01.17 09:00:00' 
        and partnumber like '%m9150%' and orders.processdate is not null 
            GROUP BY partno4pt,orders.orderdate,orders.processdate,orderdetails.qty,orderdetails.extprice
    

    【讨论】:

    • SUM 将基于 GROUP BY - 您将获得相同的 ORDERDATEPROCESSDATEQTY 之间的 SUM。 OP 没有提供详细信息,但您的查询不太可能返回预期值。
    猜你喜欢
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多