如何在MySQL中计算结果中的结果?

如何在MySQL中计算结果中的结果?,sql,mysql,aggregate-functions,Sql,Mysql,Aggregate Functions,我有一张从几家不同的在线商店(如Ebay/Amazon等)购买的商品表。在今天之前,我只想根据每件商品的制造年份和制造商对其进行分组 所以,结果会是这样的 total year manufacturer 100 1999 man_a 32 2002 man_b 现在,我想通过每件商品来自哪个商店来缩小我的数量。总之,我想知道某一年有多少物品是由某一制造商生产的,还有多少是在易趣、亚马逊等网站上找到的。结果应该与此类似(至少提供相同的数据) 我可以这样做吗?如果可以,怎么做

我有一张从几家不同的在线商店(如Ebay/Amazon等)购买的商品表。在今天之前,我只想根据每件商品的制造年份和制造商对其进行分组

所以,结果会是这样的

total  year  manufacturer
100    1999  man_a
32     2002  man_b
现在,我想通过每件商品来自哪个商店来缩小我的数量。总之,我想知道某一年有多少物品是由某一制造商生产的,还有多少是在易趣、亚马逊等网站上找到的。结果应该与此类似(至少提供相同的数据)

我可以这样做吗?如果可以,怎么做

这是我用来分组年份和制造商的查询,如果需要的话

SELECT `year`, `manufacturer`, COUNT(id) AS `total` FROM `items` GROUP BY `manufacturer`, `year` ORDER BY `total` DESC LIMIT 10;
谢谢

使用:

  SELECT `year`, 
         `manufacturer`, 
         COUNT(id) AS `total`,
         SUM(CASE WHEN store = 'ebay' THEN 1 ELSE 0 END) AS ebay_count,
         SUM(CASE WHEN store = 'amazon' THEN 1 ELSE 0 END) AS amazon_count
    FROM `items` 
GROUP BY `manufacturer`, `year` 
ORDER BY `total` DESC 
   LIMIT 10;
  SELECT `year`, 
         `manufacturer`, 
         COUNT(id) AS `total`,
         SUM(CASE WHEN store = 'ebay' THEN 1 ELSE 0 END) AS ebay_count,
         SUM(CASE WHEN store = 'amazon' THEN 1 ELSE 0 END) AS amazon_count
    FROM `items` 
GROUP BY `manufacturer`, `year` 
ORDER BY `total` DESC 
   LIMIT 10;