我在学校有一个数据库项目,我快完成了。我唯一需要的是平均每天的电影。我有一个观看历史的地方,你可以找到观看电影的用户。说明性的一点是,你可以将人们从每天平均有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 –