代码之家  ›  专栏  ›  技术社区  ›  envi z

在数据库中搜索查询时出现sql操作错误

  •  0
  • envi z  · 技术社区  · 6 年前

    以下是这个问题的后续: SQL query, IMDB data : To find an actors who did more films with Yash chopra than any other director

    actors = pd.read_sql_query('''SELECT da.*
    FROM (SELECT pd.pid, pd.name as Director, pa.pid, pa.name as actor, COUNT(*) as cnt,
             RANK() OVER (PARTITION BY pa.pid ORDER BY COUNT(*) DESC) as seqnum,
             COUNT(*) OVER (PARTITION BY pa.pid, COUNT(*)) as num_with_cnt,
    FROM M_director d JOIN
           Person pd
           ON pd.pid = d.pid JOIN
           M_cast c
           ON c.MID = d.MID JOIN
           Person pa
           ON pa.PID = c.PID
      GROUP BY pd.pid, pd.name, pa.pid, pa.name
     ) da
    WHERE director = 'Yash Chopra' AND
      seqnum = 1 AND
      num_with_cnt = 1;''',conn)
    

    这无法按预期工作并引发错误:

    操作错误:靠近“FROM”:处理上述异常期间出现语法错误,另一个异常发生:14中的DatabaseError Traceback(最近一次调用last),其中director='Yash Chopra',15 seqnum=1 AND--->16 num_with_cnt=1'',conn)

    我对SQL很陌生-有人能告诉我这里出了什么问题吗?

    提前谢谢。

    0 回复  |  直到 6 年前