Mysql 添加组SQL的和

Mysql 添加组SQL的和,mysql,sql,Mysql,Sql,sql新手,在查找查询示例时遇到困难 所以,我有一张桌子: bought ( customer_name, month, year, quantity, product_name ) 我想找出某个月(2014年4月除外)销售最多的产品 让我们说: | Jan | April | 2014 | 7 | Watches | | Ron | April | 2014 | 4 | Rings | | Jan | April | 2014 | 4 | Rings | 现在我有: SELECT

sql新手,在查找查询示例时遇到困难

所以,我有一张桌子:

bought ( customer_name, month, year, quantity, product_name )
我想找出某个月(2014年4月除外)销售最多的产品

让我们说:

| Jan | April | 2014 | 7 | Watches |
| Ron | April | 2014 | 4 |  Rings  |
| Jan | April | 2014 | 4 |  Rings  |
现在我有:

SELECT product_name
FROM bought
WHERE month_bought = 'April' AND year_bought = 2014 AND 
           quantity_buy >= all (SELECT quantity_buy
                                FROM bought 
                                WHERE month_bought = 'April' AND year_bought = 2014
                               );

我不确定是否/在何处使用GROUP BY作为产品名称。

您需要聚合,因为多个客户可以购买同一产品。这反过来又意味着拥有而不是在哪里:


还有其他方式来表达这个查询。这似乎与您试图编写的内容最为接近。

如果不进一步测试,它应该是以下内容:

SELECT product_name

FROM bought

WHERE month_bought = 'April' AND year_bought = 2014 AND 

       sum(quantity_buy) = (SELECT max(sum(quantity_buy)) FROM bought 

       WHERE month_bought = 'April' AND year_bought = 2014 group by  product_name)
group by product_name;

如果销售数量相同,这将返回多个产品。

考虑将年和月存储为单个实体问题子类。我在第4行收到group by的语法错误。
SELECT product_name

FROM bought

WHERE month_bought = 'April' AND year_bought = 2014 AND 

       sum(quantity_buy) = (SELECT max(sum(quantity_buy)) FROM bought 

       WHERE month_bought = 'April' AND year_bought = 2014 group by  product_name)
group by product_name;