–
今天運營方在使用報表的過程中,發現導出的數據不對。而之前發現過這個問題,這邊做了修改,今天再次出現很是不解。
上次問題是導出來的數據某個字段都是一個值,這顯然是不對的,然後經研究發現,是sql
語句中order by
對結果的影響,上次沒有理解,只是將排序去掉了,然後數據就是正確的了。
–
這次又出現,開始各種看,分析不出原因,最後打印發現結果都是Null
,因此定位問題於sql
中,但是查詢相關字段的sql
語句,並沒有發現問題。但是一執行結果就是不對。好吧,只能將sql
逐段註釋,然後判斷哪裏的問題。
但是跟出現問題的字段沒關係啊,但是註釋掉結果就好了,於是定位問題於這段sql
語句中,ifnull
, group_concat
, if
相互使用造成的結果。但是不理解啊。
--------------------------------------------------------分割--------------------------------------------------
最後我的解決辦法是,將這段sql
的來源由left join
和group by
變爲了一段子查詢,然後再與基本sql
聯接取值。
在此記錄一下, 可惜沒有搞清楚原因。