可能是因为MySQL的Lead函数的索引被改变或删除了,导致表中的数据被重置或变更,从而导致Lead函数的数据变成null。此外,如果Lead函数搜索的数据不存在,也会出现null的情况。
select bziduan1,ifnull(ccounts,0) from 表2 b left join
(select ziduan1,count() counts from 表1 group by ziduan1) c
on bziduan1=cziduan1
-----补充----
这个改了好几次,之前就是想弄的简单点,可惜欠考虑了
比如俩表直接left join,这样会出现d null的情况,而再统计count时把这条也算做一条记录了,你也找找吧,我也测测有更好的办法没
------补充-----
写了个这种写法,你看看
select bziduan1,
sum(case when aziduan1=bziduan1 then 1 else 0 end) from 表2 b
left join 表1 a on
aziduan1=bziduan1
group by bziduan1
写main测试肯定是不行的,因为你在web环境中,一般serviceImpl中的dao之类的数据库连接都由容器启动的时候创建好了,不会报错。但是你在main中,没有这个环境啊。可以这么写:
ApplicationContext ctx = new FileSystemXmlApplicationContext("WebContent/WEB-INF/spring/xml"); //创建容器类上下文
CfpanmouncementServiceImpl cfpanmouncementService= ctxgetBean("xxxxx");
List<xxxEntity> list = cfpanmouncementServicegetReportListBy("xxxx");
selectiuid,sum(ifnull(deposit,0)+ifnull(ddeposit,0)+ifnull(money,0))asallmoney
frompw_memberinfoileftjoinpw_membersmonmuid=iuidleftjoinpw_memberdatadoniuid=duid
whereifnull(deposit,0)+ifnull(ddeposit,0)+ifnull(money,0)>2000;
以上就是关于mysql的lead函数数据突然变成null了是怎么回事全部的内容,包括:mysql的lead函数数据突然变成null了是怎么回事、SQL统计数据库某分隔符字段里的数量请问怎么写、mybatis ifnull函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)