如何在2个季度内回报最高消费客户?

时间:2017-01-22 03:31:16

标签: sql sql-server

我有一个数据集(AdventureWorks数据库),其中包含'totalDue,CustomerID,OrderDate,OrderNumber'等字段。我必须显示他们在数据中提供的3年(07/01/2005至07/31/2008)任何2个季度期间所花费的最高客户和总金额。我们被告知它可以是连续6个月的任何时期的范围,但是每年都是如此。也许最好的方法是使用“Over BY Partition功能”。

我尝试了很多方法,但我没有得到正确的金额。

enter image description here

select 
    top 1 CustomerID,
    dateadd(qq,2, OrderDate) qtr,
    Sum(TotalDue) sum_totaldue
From Sales.SalesOrderHeader
Group by
    CustomerID, 
    dateadd(qq, 2, OrderDate)
Order by sum_totaldue desc

到目前为止,我有这个查询给了我正确的CustomerID:29641,但不是2个季度的正确总金额。它只给出了他所做的所有订单中最高额的订单。

Wrong Output

金额的答案是: $ 369,506.4522 ,这是过去2个季度的总和。但我无法总计这两个季度的总数。

1 个答案:

答案 0 :(得分:0)

您不需要使用分析<script> var data2; function bacaData() { var a; $.get("a.php", {}, function (data, status) { a = data; }); return a; } data2 = bacaData(); $(document).ready(function(){ //initialize the javascript document.getElementById("tempatbaca").innerHTML = data2; }); </script> 功能,因为您已经在执行SUM

试试这个:

GROUP BY