我正在尝试找到一种使用Python在postgreSQL中使用表的行号的方法。因此,在for循环中,当表行号为22时,请执行某些操作。
让我给你看一个简单的例子:
conn = psycopg2.connect(database=DB_NAME, user=DB_USER, password=DB_PASS, host=DB_HOST, port=DB_PORT)
cur = conn.cursor()
cur.execute("SELECT a, b FROM table")
rows = cur.fetchall()
for data in rows:
if data.row_number == 22:` #if the table row number is 22...
do something
显然,表达式“ data.row_number”不存在并产生错误...
有人可以帮我吗?
谢谢
您可以尝试使用该ROW_NUMBER()
功能,例如:
conn = psycopg2.connect(database=DB_NAME, user=DB_USER, password=DB_PASS, host=DB_HOST, port=DB_PORT)
cur = conn.cursor()
cur.execute("SELECT a, b, ROW_NUMBER () OVER (ORDER BY a) FROM table")
rows = cur.fetchall()
for data in rows:
if data[2] == 22: #if the table row number is 22...
# do something
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句