2011-09-09 15 views
2

MySQLで結果の名前を変更できますか?私は、次の表を持っている場合チーズ4チーズが同じとして返されるように例えば結果の名前を変更する

Pizza      Topping 
-------------------------------- 
Cheese     Olives 
Ham      Tuna 
Four cheese    Olives 
Cheese     Tuna 

にはどうすれば選択のピザを行うことができますか?私は別のピザの数を取得したい場合たとえば、私は、クエリのような

select pizza, count(*) from pizza_table 
group by pizza 

を実行したい

Ham = 1 
Cheese = 3 

になるだろうし、その結果は次のようになります。

Pizza      count(*) 
-------------------------------- 
Cheese     3 
Ham      1 

の代わりに

Pizza      count(*) 
-------------------------------- 
Cheese     2 
Ham      1 
Four cheese    1 
+0

ああ、それははるかに優れています。 –

答えて

7

確かに。 SELECTでCASE/WHENステートメントを使用して評価および変更します。 See doc MySQL here。そして、あなたを始めようとする人はpractical examples hereです。本当にナイーブしかし

このサンプルでは、​​近くにあるべき:

SELECT 
    CASE Pizza 
     WHEN 'Cheese' THEN 'Cheese' 
     WHEN 'Four Cheese' THEN 'Cheese' 
     WHEN 'Extra Cheese' THEN 'Cheese' 
     ELSE Pizza 
    END AS PizzaType, 
    COUNT(*) as PCount 
FROM PizzaTable 
GROUP BY PizzaType 

あなたはそれが最高なLIKE文を使用して、あなたのビズ・ロジックに合わせて変更する必要があります。

1

select if (locate("cheese", table.pizza)>0, "cheese", table.pizza) as pizzaのようなものを使用しますか?あなたが実際のMySQLコードを投稿した方が良いでしょう...

関連する問題