人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQLについて質問です。

下記のような試験結果のテーブルがあります。

名前 結果
----------
太郎 優
花子 優
拓也 良
涼子 可
太郎 優
花子 可
拓也 可
涼子 優


そこで、個人が、優を何回、良を何回、可を何回、取ったかを調べ、
下記のような結果を得る事ができるSQL文は可能でしょうか?

名前 優 良 可
-------------------
太郎 2 , 0 , 0
花子 1 , 1 , 0
拓也 0 , 1 , 1
涼子 1 , 0 , 1


名前 優
--------
太郎 2
花子 1
拓也 0
涼子 1

上記のようなSQL文は解るので、現状は結果の数の文だけまわしているという状態ですが、
一行で済むのであれば、変更したいと思いまして質問させていただきます。

※使っているのはMySQLです

宜しくお願い致します。

●質問者: ruijio
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:いただきます 名前 涼子 花子 試験
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● lieutar
●60ポイント ベストアンサー

SELECT 名前

, SUM(CASE 結果 WHEN '優' THEN 1 ELSE 0 END) AS 優

, SUM(CASE 結果 WHEN '良' THEN 1 ELSE 0 END) AS 良

, SUM(CASE 結果 WHEN '可' THEN 1 ELSE 0 END) AS 可

FROM 試験結果

GROUP BY 名前

カラム名の表記などは適当に合わせて下さい.

◎質問者からの返答

ありがとうございます。解決できました。

CASE WHEN THEN などというは始めて知りました。

SQLをちゃんと勉強せねば・・と痛感した次第です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ