記錄一個Mysql查詢的問題, select的字段影響結果條數

今天運營方在使用報表的過程中,發現導出的數據不對。而之前發現過這個問題,這邊做了修改,今天再次出現很是不解。

上次問題是導出來的數據某個字段都是一個值,這顯然是不對的,然後經研究發現,是sql語句中order by對結果的影響,上次沒有理解,只是將排序去掉了,然後數據就是正確的了。


這次又出現,開始各種看,分析不出原因,最後打印發現結果都是Null,因此定位問題於sql中,但是查詢相關字段的sql語句,並沒有發現問題。但是一執行結果就是不對。好吧,只能將sql逐段註釋,然後判斷哪裏的問題。
問題sql
但是跟出現問題的字段沒關係啊,但是註釋掉結果就好了,於是定位問題於這段sql語句中,ifnull, group_concat, if相互使用造成的結果。但是不理解啊。

--------------------------------------------------------分割--------------------------------------------------
最後我的解決辦法是,將這段sql的來源由left joingroup by變爲了一段子查詢,然後再與基本sql聯接取值。


在此記錄一下, 可惜沒有搞清楚原因。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章