Синтаксическая ошибка с psycopg2 с использованием функции dens_rank - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь запустить запрос к базе данных через Python со следующим кодом:

import pandas as pd
import numpy as np
import psycopg2
import pandas.io.sql as sqlio

conn = psycopg2.connect(host="000.00.00", database="xxx", user="xxx", password="xxx")

query = "select c_code, 
       a_code, 
       price, 
       quantity, 
       weight, 
       dense_rank() over(partition by a_code order by quantity) r_provv,        
       quantity*weight as q_x_w
       from tran_tab"


df = sqlio.read_sql(query, conn)
conn = None

Но я получаю следующее сообщение SyntaxError:

Traceback (most recent call last):
File "C:\Users\ago\Desktop\prova\venv\lib\site-packages\pandas\io\sql.py", line 1586, in execute
    cur.execute(*args, **kwargs)
psycopg2.errors.SyntaxError: syntax error at or near "("
LINE 1: ... 'quantity, '         'weight, '         'dense_rank() (over(p...
                                                               ^
...