日期:2014-05-17  浏览次数:20781 次

sum(字段名) over() 不等于 sum(字段名)?未什么少一条数据转换成mysql
select decode(VisitUserCount, 0, 0, trunc(VisitUserCount / sum(VisitUserCount) over() * 100, 2)) as VisitPerc 

from table;

是原来的oracle 语句
而我把decode转换mysql后是

case VisitUserCount when 0 then  0 else truncate(VisitUserCount / sum(VisitUserCount) * 100 over(), 2) end as VisitPerc  

可是问题来了 
原来的oracle语句返回2条数据 而转成mysql后返回1条,这是为何 ,问题就出在sum(VisitUserCount) over() * 100

难道sum(VisitUserCount) over() * 100不等于sum(VisitUserCount)  * 100?为什么少了一条记录呢???

在线苦等 

没分了只能发在非技术区了 谁帮能我转发到高级技术区啊
------解决方案--------------------
count(*)是2条数据

而为什么显示出来的只有一条数据?