我有一个项目表,我从几个不同的在线商店,如Ebay /亚马逊等获得。在今天之前,我想简单地根据制作的年份和制造商的制造商对每个项目进行分组。它
所以,结果看起来像这样
total year manufacturer
100 1999 man_a
32 2002 man_b
现在,我想通过每个商品来自哪个商店来缩小我的数量。总而言之,我想知道在某一年和某个制造商生产了多少物品,以及在ebay,亚马逊等上发现了多少物品。结果应该与此类似(至少提供相同的数据)
total year manufacturer ebay_count amazon_count
100 1999 man_a 40 60
32 2002 man_b 21 11
我可以做这样的事情,如果是这样的话?
下面是我用来对年份和制造商进行分组的查询,如果需要的话。
SELECT `year`, `manufacturer`, COUNT(id) AS `total` FROM `items` GROUP BY `manufacturer`, `year` ORDER BY `total` DESC LIMIT 10;
感谢
答案 0 :(得分:5)
使用:
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;