不是吧,能不能将你的表结构与数据导出来帖一下呀??整理下下你的 SQL ,并建议做下面的修改SELECT DATE_FORMAT(tA.fdate, '%Y-%m') date,
       tA.fsender sender,
       SUM(tA.fsendcount) count
    FROM monthly_usage tA
      LEFT JOIN tbl_postpaidsub tB
             ON CONCAT('852',tB.fsubscriber) = tA.fsender
      LEFT JOIN internal_user tC
             ON CONCAT('852',tC.msisdn) = tA.fsender
      WHERE tC.msisdn is null 
        AND TO_DAYS(CONCAT(DATE_FORMAT(tA.fdate, '%Y-%m'), '-01'))
                 =  TO_DAYS('2003-08-01')
        AND TO_DAYS(CONCAT(DATE_FORMAT(tC.fregdate, '%Y-%m'), '-01'))
                 >= TO_DAYS('2003-08-01')
      GROUP BY date, sender
      HAVING SUM(tA.fsendcount) >=10 
         AND SUM(tA.fsendcount) < 20
date_format(tbl_postpaidsub.fregdate,'%Y-%m') >= '2003-08'是以字符串方式比较的,这会出现问题所以建议使用TO_DAYS(CONCAT(DATE_FORMAT(tC.fregdate, '%Y-%m'), '-01'))
       >= TO_DAYS('2003-08-01')