Python psycopg2-将聚合添加到作为列传递列表的脚本中

Python psycopg2-将聚合添加到作为列传递列表的脚本中,python,psycopg2,Python,Psycopg2,我有一个列列表,我正试图将其作为列作为select语句的一部分传递,如下所示: list_name = ['col_a', 'col_b'] 正在尝试将此列表传递到以下查询: query = """SELECT {} FROM table""".format(', '.join(str(field) for field in list_name)) 上面的方法很好,我正在尝试修改上面的脚本,以便添加一个聚合值作为一个新列sum(id) 上面抛出一个错误索引器错误:元组索

我有一个列列表,我正试图将其作为列作为select语句的一部分传递,如下所示:

list_name = ['col_a', 'col_b']
正在尝试将此列表传递到以下查询:

query = """SELECT {}
           FROM table""".format(', '.join(str(field) for field in list_name))
上面的方法很好,我正在尝试修改上面的脚本,以便添加一个聚合值作为一个新列
sum(id)

上面抛出一个错误
索引器错误:元组索引超出范围


要想在上面添加聚合的编辑中找到错误所在,您需要为第二个查询传递两次字段(一次用于
SELECT
,一次用于
GPOUP
):

query = """SELECT {}, sum(id)
           FROM table group by {}""".format(', '.join(str(field) for field in list_name))
fields = ', '.join(str(field) for field in list_name)
query = """SELECT {}, sum(id) FROM table group by {}""".format(fields, fields)