【问题标题】:Create a query to return the average transaction of a clients orders创建查询以返回客户订单的平均交易量
【发布时间】:2014-08-28 03:26:46
【问题描述】:

我想返回一个财务年度客户的平均订单价值(订单中所有订单项的 Qty * Price 总和,然后是平均订单总额),表格如下所示

财政年度从 1 日/7 月/年开始(可以作为参数动态传入) 财政年度结束于 30th/Jun/Year(可以作为参数动态传递) UserID(可以作为参数动态传入)

Orders Table
-OrderID
-UserID
-OrderDate

OrderItems Table
-OrderItemID
-OrderID
-Qty
-Price

我使用的脚本语言是coldfusion,数据库是MSSQL

感谢大家的宝贵时间

克里斯

【问题讨论】:

    标签: sql sql-server coldfusion


    【解决方案1】:

    不熟悉冷融合。

    SQL 是

    SELECT o.UserID, AVG(oi.OrderTotal) AverageOrderValue
    FROM   Orders o
           INNER JOIN
           (SELECT OrderID, SUM(Qty*Price) OrderTotal
            FROM OrderItems
            GROUP BY OrderID) oi ON o.OrderID=oi.OrderID
    WHERE  o.OrderDate BETWEEN @StartDate AND @EndDate
    

    【讨论】:

    • 非常感谢,效果很好。我不知道从哪里开始。
    【解决方案2】:
    declare 
    @first_param datetime='01-01-2001'
    @last_param datetime='01-07-2014'
    begin
    
    select AVG(orderid_cnt),sum_qty,a.user_id from (
    select sum(b.qty*b.price) as sum_qty,orderid,COUNT(orderid) as orderid_cnt
    
    From orders a 
    inner join orderitems b
    on a.orderid=b.orderid
    group by orderid ) a 
    inner join  orders a1
    on  a.orderid=a1.orderid
    

    【讨论】:

      猜你喜欢
      • 2017-06-23
      • 1970-01-01
      • 1970-01-01
      • 2022-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多