sql获得复杂的平均函数

时间:2014-04-22 06:42:05

标签: sql

我试图得到这个:

“创建一个视图,列出所有食物的总消费量为一周。此视图用于帮助动物园动物食用食物。显示食物ID和名称,以及每周食用量,数量用每种食物喂食的动物和每只动物的食物的平均消费量(每周食用量除以食用该食物的动物数量)。“

下面是我的SQL查询:

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

我似乎无法为平均消费生成任何数据,这是最终条件 ,任何解决方案??

1 个答案:

答案 0 :(得分:0)

我相信你需要为每种食物获得不同动物的数量,例如:

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

但是为了获得进一步的帮助,我认为你需要发布一些样本数据和一些预期的输出。