0
使用:SQL Server 2008 R2的SQL - 收集最古老和最新紀錄,並獲得天之間
是否有可能,不使用CTE,以獲得最古老和最新的記錄,然後得到的天(DATEDIFF)在一個SELECT語句中?
爲了澄清,這是我目前的SELECT語句:
SELECT
COUNT(*) as 'Sessions',
MAX(f_sessiondate) AS 'Latest',
MIN(f_sessiondate) as 'Oldest'
所以,說我得到以下結果
Sessions Latest Oldest
2610 2014-10-28 00:00:00.000 2013-12-23 00:00:00.000
我想是得到「平均會話每一天」在「最新」和「最舊」條目之間做一個DATEDIFF。所以'天'是309,而「每天平均會話」將是8.45(四捨五入)。
編輯:
靠運氣的一些行程,我得到它的工作在一定程度上,雖然我很想念我的小數。以下是我添加的內容:
CAST(COUNT(*)/DATEDIFF(day, MIN(f_sessiondate),MAX(f_sessiondate)) as DECIMAL(18,2)) as 'Average Sessions Fixed',
根據以上(更新後)的數字,我會得到8.44(309天)的結果。但是,SQL給了我8.00的結果。我怎樣才能得到正確的小數?
由於提前,
Beems
您應該將您的點數(*)作爲小數點。 – Will 2014-10-29 16:04:38
CAST(cast(COUNT(*)爲十進制)/ DATEDIFF .....) – Will 2014-10-29 16:06:48
這樣做了,謝謝。你能否將其作爲正式答覆發佈,以便我可以標記它? – Beems 2014-10-29 16:08:22