是否可以在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
答案 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代码会更好......