重命名结果

时间:2011-09-09 15:37:19

标签: mysql

是否可以在MySQL中重命名结果?例如,如果我有下表

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

如何选择披萨,以便奶酪四个奶酪同样返回?例如,如果我想获得不同比萨饼的数量,我会得到

Ham = 1
Cheese = 3

我想执行诸如

之类的查询
select pizza, count(*) from pizza_table
group by pizza

结果应该是:

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

而不是

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

2 个答案:

答案 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 :(得分:1)

使用select if (locate("cheese", table.pizza)>0, "cheese", table.pizza) as pizza之类的内容?如果您发布实际的MySQL代码会更好......