sql获取一个复杂的平均函数
我正试图得到这个: “创建一个视图,列出一周内所有食物的总消耗量。此视图用于帮助动物园动物订购食物。显示食物id和名称,以及每周消耗量、每种食物喂养的动物数量和平均消耗量(每周消耗量除以食用该食物的动物数量)每只动物的食物量。” 下面是我的sql查询:sql获取一个复杂的平均函数,sql,Sql,我正试图得到这个: “创建一个视图,列出一周内所有食物的总消耗量。此视图用于帮助动物园动物订购食物。显示食物id和名称,以及每周消耗量、每种食物喂养的动物数量和平均消耗量(每周消耗量除以食用该食物的动物数量)每只动物的食物量。” 下面是我的sql查询: SELECT a.foodID ,NAME ,b.qtyperday * 7 AS "weekly consumption" ,COUNT(animalID) ,AVG(( b.qtyperday
SELECT a.foodID
,NAME
,b.qtyperday * 7 AS "weekly consumption"
,COUNT(animalID)
,AVG(( b.qtyperday * 7) / COUNT(animalID))
AS "average consumption"
FROM food a, feed b
WHERE a.foodID = b.foodID
GROUP BY foodID
我似乎无法生成任何关于平均消耗量的数据,这是最终条件
,任何解决方案???我认为您需要获得每种食物的不同动物数量,例如:
SELECT a.foodID
,NAME
,b.qtyperday * 7 AS "weekly consumption"
,COUNT(DISTINCT animalID)
AS "animals eating this food"
,AVG(( b.qtyperday * 7) / COUNT(DISTINCT animalID))
AS "average consumption"
FROM food a, feed b
WHERE a.foodID = b.foodID
GROUP BY foodID
但是为了获得进一步的帮助,我认为您需要发布一些示例数据和一些预期的输出。虽然这可能对这个问题没有影响,但您还应该为您正在使用的DBMS添加标记。Postgres?Oracle?SQL Server?