2

我有一个名为 inventory 的表,其中包括如下两列:

在此处输入图像描述

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

在此处输入图像描述

我想它看起来像:

  SELECT item, sum(condition???), sum(condition???), sum(condition???) 
    FROM inventory 
GROUP BY item

我怎样才能做到这一点?谢谢。

4

1 回答 1

6

你非常接近:

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

请参阅带有演示的 SQL Fiddle

于 2012-11-03T23:45:15.330 回答