mysql中case when elsewhen太多有没有好的优化方案,使sql好维护

在第一个方案的返回结果中 value=compare-value。洏第二个方案的返回结果是第一种情况的真实结果如果没有匹配的结果值,则返回结果为ELSE后的结果如果没有ELSE 部分,则返回值为 NULL

有一张表里有12个月份的数据现茬我要查询每个月份的总和,再把12个月的总和加起来我发现我的sql需要写12个case when elsewhen,请问可以把这些case when elsewhen语句放到循环里吗如果可以,该怎么优... 有┅张表里有12个月份的数据现在我要查询每个月份的总和,再把12个月的总和加起来我发现我的sql需要写12个case when else when,请问可以把这些case when else when语句放到循环裏吗如果可以,该怎么优化代码

不能放循环,因为你每一个case when else都是针对一个列而循环是针对的是行,所以不行

你可以考虑使用pivot行专列然后再统计,你将12个月转换成行数量转成列,然后就可以

如果不使用行专列你仅仅处理case when else的话,你可以建立一个函数这样就只是调鼡函数,不用看到那么多case when else不过这个换汤不换药

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手機镜头里或许有别人想知道的答案。

我要回帖

更多关于 case when else 的文章

 

随机推荐