2014-09-28 28 views
0

SQL Server 2008,通過aspx網頁以html呈現。如何使用SQL Server 2008統計數據集中的活動天數

我想要達到的目標是獲得平均每天的數字,以彌補失蹤的日子。爲此,我需要計算表中活動天數。

例子:

Date  | Amount  
--------------------- 
2014-08-16 | 234.56  
2014-08-16 | 258.30 
2014-08-18 | 25.84 
2014-08-19 | 259.21 

通過的活躍天數除以該批次(777.961)的總和(3)將= 259.30

所以它需要去「,在不同的日期數數返回的範圍「

有沒有一個簡潔的方法來做到這一點?

+0

什麼你的預期產出到底在哪?請根據這些數據指出您想要的輸出行。還有什麼決定一天是否「活躍」? – 2014-09-29 00:27:07

+0

我希望上面顯示的單個數字爲259.30:在活動日期內每天的平均值。所以,如果星期一,星期二和星期三是交易日,並且發票在那些日子被加載,那麼平均值將是總額(金額)/不同SUM(日期)。但如果星期四是假期,然後星期五再次交易,我希望新的SUM(金額)/ [僅在數據中表示的日期] – Bevan 2014-09-29 00:31:54

回答

1

如果你只是想要一個輸出的一排那麼這應該工作:

select sum(amount)/count(distinct date) as your_average 
from your_table 

小提琴: http://sqlfiddle.com/#!2/7ffd1/1/0

+0

Wowza!完美,如此簡單。非常感謝。 – Bevan 2014-09-29 00:38:04

-1

我不知道這會對你有幫助,怎麼樣使用Group By,Avg,count函數。

SELECT Date, AVG(Amount) AS 'AmountAverage', COUNT(*) AS 'NumberOfActiveDays' 
FROM YourTable WITH(NOLOCK) 
GROUP BY Date 

關於AVG的功能,在這裏看到:Link

+0

好,但不允許每天有多個條目。 – Bevan 2014-09-29 00:27:30

+2

WITH WITH(NOLOCK)'[stop doing this](http://blogs.sqlsentry.com/aaronbertrand/bad-habits-nolock-everywhere/)。 – Kermit 2014-09-29 00:29:09

+0

好的。謝謝您的幫助。 Wowza! – Bevan 2014-09-29 00:38:29

相關問題