use*_*172 2 mysql sql pivot aggregate-functions
我有一个名为inventory的表,其中包含两列,如下所示:

我想查询此表以返回一个结果集,该结果集列出了我拥有的每个条件的多少项(下面的示例中的列标题在结果集中不需要...只是为了清楚起见,这里显示):

我猜它会是这样的:
SELECT item, sum(condition???), sum(condition???), sum(condition???)
FROM inventory
GROUP BY item
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点?谢谢.
你非常接近:
SELECT item,
sum(case when `condition` = 'poor' then 1 else 0 end) as poor,
sum(case when `condition` = 'fair' then 1 else 0 end) as fair,
sum(case when `condition` = 'good' then 1 else 0 end) as good
FROM inventory
GROUP BY item
Run Code Online (Sandbox Code Playgroud)