Python 报错 ProgrammingError: (1064, "You have an error in your SQL syntax; check## 标题

使用python进行连接数据库,编写sql出现报错ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',
但是在Navicat中sql可以跑出来,发现是 进位 的错误。
错误代码:

sql=("select LEFT(a.imsi,5) i,LEFT(a.mcc,3) m ,SUM(a.cdr_byte) zong_byte"
    "from"
        "(select distinct imsi,cdr_time,cdr_byte,country_desc,operator_desc,supplier_code,supplier_name,"
         "`status`,mcc,iccid,cdr_end_time "
        "from cdr_record where supplier_code=1003) a "
    "GROUP BY i,m;")

出现报错:

ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(select distinct imsi,cdr_time,cdr_byte,country_desc,operator_desc,supplier_code' at line 1")

更改后的代码:

sql=("select LEFT(a.imsi,5) i,LEFT(a.mcc,3) m ,SUM(a.cdr_byte) zong_byte "
    "from "
        "(select distinct imsi,cdr_time,cdr_byte,country_desc,operator_desc,supplier_code,supplier_name,"
         "`status`,mcc,iccid,cdr_end_time "
        "from cdr_record where supplier_code=1003) a "
    "GROUP BY i,m;")

在select最后一个字段和’from‘后分别加一个空格,就可以了。