参考:https://blog.csdn.net/rainyspring4540/article/details/50231435/
不能一步到位,还是要多条语句处理的。
https://ask.csdn.net/questions/7410386看下这个 我也碰到过这个问题,而且解决了
SELECT SUM( CASE WHEN 项目 = "兵乓球" THEN 奖牌 ELSE 0 END ) "兵乓球",
SUM( CASE WHEN 项目 = "羽毛球" THEN 奖牌 ELSE 0 END ) "羽毛球",
SUM( CASE WHEN 项目 = "游泳" THEN 奖牌 ELSE 0 END ) "游泳",
SUM( CASE WHEN 项目 = "篮球" THEN 奖牌 ELSE 0 END ) "篮球",
SUM( CASE WHEN 项目 = "击剑" THEN 奖牌 ELSE 0 END ) "击剑"
FROM 表1
GROUP BY 省份
// 其实也可以通过java 数据操作的
去网上稍微查了下,应该是写存储过程,先select一次group by 项目,把所有项目拿到,然后循环渲染成列sum(项目)
然后就select 省份,渲染列函数 from 表 group by 省份
具体实现就没去查了,因为这东西在我眼中毫无作用,我是做后端的,正常你要的数据直接select sum() group by 省份、项目,然后后端自己做下处理就行了
可以编写存储过程,通过预处理动态生成查询sql,再执行。