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