我有个这样的表
这是我想在前端页面展示的结果,请问怎样写SQL比较好
SELECT b,
SUM(CASE a WHEN '饺子' THEN 1 ELSE 0 END) as '饺子',
SUM(CASE a WHEN '米饭' THEN 1 ELSE 0 END) as '米饭'
FROM test
GROUP BY b
你可以试试
select b, sum(if(a='饺子', 1, 0)) as '饺子', sum(if(a='米饭', 1, 0)) as '米饭' from table_name group by b
这个表里应该不止"饺子"和"米饭"这两种吧?如果这个值的清单不是确定的,随时可以修改,那么就不建议写固定的sql来进行转换,因为sql的列数和字段名必须是确定的,总不能加一种食物就改一下sql吧?
因此,这里有两种方式,
这个表设计的不好,很难扩展。一般都是用户表是一张表,别的表和用户表进行关联