1

我有一张桌子,叫做篮子,上面有这些列:

  • 篮子(篮子的名称)
  • 颜色(篮子的颜色)
  • 苹果(篮子里的苹果数)
  • 香蕉(篮子里香蕉的数量)
  • 橙子(篮子里的橙子数量)
  • 梨(篮子里梨的数量)
  • 桃子(篮子里的桃子数量)

使用 Query1,我确定了每个篮子中的水果总数,还包括了每个篮子的颜色:

SELECT basket, colour, apples+bananas+oranges+pears+peaches AS fruit
FROM baskets;

Query1 由三列组成:

  • 篮子
  • 颜色
  • 水果(篮子里的水果总数)

使用 Query2,我通过从 Query1 的结果中提取信息来确定每种颜色的所有篮子中水果的平均数量:

SELECT DISTINCT
        candidate.colour,
        candidate.fruit
            (SELECT AVG(fruit)
                 FROM Query1 AS average
                 WHERE average.colour = candidate.colour) AS fruit
    FROM Query1 AS candidate;

Query2 由两列组成:

  • 颜色
  • 水果

是否可以嵌套这些查询,以便我可以仅通过一个查询获得 Query2 的结果?

您的帮助将不胜感激。谢谢你。

4

2 回答 2

2
SELECT colour, AVG(apples+bananas+oranges+pears+peaches) AS fruit
FROM baskets
GROUP by colour;
于 2009-06-08T22:46:51.343 回答
1

如果你想按篮子颜色计算总水果,你可以这样做:

SELECT colour, SUM(apples+bananas+oranges+pears+peaches) AS totalfruit
FROM baskets
GROUP By colour
于 2009-06-08T22:48:23.367 回答