sql casewhen优化

发布网友

我来回答

1个回答

热心网友

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

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

如下使用:

select sum(case 数量 when 999999 then 0 else 数量 end) from table

pivot使用实例:网页链接

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com