我在运行下面的脚本时遇到了这个错误,该脚本遍历我表格中的每一列并返回每个列的最高价格。注:我缩短了这个问题的列数。
import sqlite3
sqlite_file = 'foo.db'
conn = sqlite3.connect(sqlite_file)
c = conn.cursor()
column = ['AAC', 'AAD', 'ABC', 'ABP',
'AGL', 'AHG', 'AHY', 'AIO',
'ALL', 'ALQ', 'ALU', 'AMC']
for i in range(len(column)):
c.execute("SELECT max(%s) FROM prices" % (column[i]))
print (column[i], c.fetchall())
conn.close()
脚本打印8个结果然后我收到错误?
输出:
AAC [('1.495',)]
AAD [('2.50',)]
ABC [('4.455',)]
ABP [('2.98',)]
AGL [('16.86',)]
AHG [('4.25',)]
AHY [('1.70',)]
AIO [('8.75',)]
sqlite3.OperationalError: wrong number of arguments to function max()
请帮忙!
答案 0 :(得分:1)
ALL
是SQLite中的关键字。 (https://www.sqlite.org/lang_keywords.html)
您需要引用它以使您的查询正常运行(请参阅上面的链接)。