2

次のように 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 に答える