1
在此先感謝!獲取日均特定日期範圍的SQL Server
這是我到目前爲止有:
我被人選擇任務總量爲給定日期範圍內特定的所有者。我現在試圖爲每個人獲得確切的每日任務平均數。
我遇到的問題是,它使平均結束返回.00,而不是確切的平均水平。例如,一個人一週可能有兩項任務;我得到0.00的平均,而不是0.28或0.29
SELECT
convert(nvarchar, COUNT(p.personID)) AS count,
CONVERT(decimal(4, 2), COUNT(p.personID)/DATEDIFF(DAY, @startDate, @endDate)) AS average,
p.personID,
p.firstname,
p.lastname,
c.companyname
FROM
Tasks t
JOIN
Person p ON p.personID = t.personID
JOIN
Client c ON c.id = p.employer
JOIN
Commission m ON m.ClientID = c.ID
WHERE
t.created BETWEEN @startDate AND @endDate
AND m.owner IN ('John Doe')
GROUP BY
p.personID, p.firstname, p.lastname, c.companyname
ORDER BY
c.companyname, count DESC
謝謝你的回答!它的工作原理,當我添加1.0時是否仍然需要將它轉換爲小數? – Klay
聲明「當分割2個整數時得到第三個整數向下取整」是rdbms特有的。這對於sql server來說是正確的,但對於redbrick和oracle來說是錯誤的。我測試了這三個。由於該問題沒有任何特定數據庫引擎的標籤,因此我認爲值得一提。 –
@DanBracuk標題說sqlserver。你是對的 –