我在學校有一個數據庫項目,我快完成了。我唯一需要的是平均每天的電影。我有一個觀看歷史的地方,你可以找到觀看電影的用戶。說明性的一點是,你可以將人們從每天平均有2部電影的觀看史冊中篩選出來。訪問:在每天獲得平均電影時遇到問題
我寫了下面的SQL語句。但每次我得到錯誤。有人能幫我嗎?
SQL:
SELECT
customer_mail_address,
COUNT(movie_id) AS AantalBekeken,
COUNT(movie_id)/SUM(GETDATE() -
(SELECT subscription_start FROM Customer)) AS AveragePerDay
FROM
Watchhistory
GROUP BY
customer_mail_address
錯誤:
Msg 130, Level 15, State 1, Line 1
Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
我嘗試不同的東西和這個查詢總結總量電影的每天。現在我需要所有事情的平均值,而且SQL僅顯示平均每天有超過2部電影的客戶。
SELECT
Count(movie_id) as AantalPerDag,
Customer_mail_address,
Cast(watchhistory.watch_date as Date) as Date
FROM
Watchhistory
GROUP BY
customer_mail_address, Cast(watch_date as Date)
我懷疑這個查詢是否會做你真正想要的,即使你修復了語法錯誤。嘗試編輯問題並提供樣本數據和期望的結果。 –
您應該看看AVG()函數和HAVING子句。 –
我得到的錯誤是,我無法對包含聚合或子查詢的表達式執行聚合函數,我以爲這確實是每天獲得平均值的正確方法。但是,這個錯誤是非常煩人的:p –