–
今天运营方在使用报表的过程中,发现导出的数据不对。而之前发现过这个问题,这边做了修改,今天再次出现很是不解。
上次问题是导出来的数据某个字段都是一个值,这显然是不对的,然后经研究发现,是sql
语句中order by
对结果的影响,上次没有理解,只是将排序去掉了,然后数据就是正确的了。
–
这次又出现,开始各种看,分析不出原因,最后打印发现结果都是Null
,因此定位问题于sql
中,但是查询相关字段的sql
语句,并没有发现问题。但是一执行结果就是不对。好吧,只能将sql
逐段注释,然后判断哪里的问题。
但是跟出现问题的字段没关系啊,但是注释掉结果就好了,于是定位问题于这段sql
语句中,ifnull
, group_concat
, if
相互使用造成的结果。但是不理解啊。
--------------------------------------------------------分割--------------------------------------------------
最后我的解决办法是,将这段sql
的来源由left join
和group by
变为了一段子查询,然后再与基本sql
联接取值。
在此记录一下, 可惜没有搞清楚原因。