2016-02-25 59 views
0

我正在尝试获取销售的独特物品的平均数量。数据库结构是这样的:Mysqli选择查询的平均数

ID ItemSize ItemColor DateSold 

如果我这样做查询:

SELECT Count(*) AS COUNT FROM store_sales GROUP BY ItemSize, ItemColor 

...这会给我要的大小和颜色都相同的每个项目的销售总量。

我需要得到这个结果集中所有数字的平均值。我将如何做到这一点?

**样本数据**

store_sales

ID ItemSize ItemColor 
1  3   5 
2  3   5 
3  2   5 
4  2   6 
5  2   6 
6  2   6 

查询:

Select Count(*) AS COUNT FROM store_sales GROUP BY ItemSize, ItemColor 

结果:

Array ( 
    [0] => Array ([Count] => 2) 
    [1] => Array ([Count] => 1) 
    [2] => Array ([Count] => 3) 
) 

我试图获得平均。我想返回2

回答

1

只需使用您的查询作为AVG的子查询,并且不要将列名为COUNT这是一个保留字。

SQL Fiddle Demo

SELECT AVG(ITEM_COUNT) 
FROM (
     SELECT Count(*) AS ITEM_COUNT 
     FROM store_sales 
     GROUP BY ItemSize, ItemColor 
    ) T 
+0

这就是我想我应该这样做,但是当我做,什么都不会返回。 – JROB

+0

你可以包含一些样本数据吗? –

+0

我用样本数据更新了问题。 – JROB