现在,我正在执行以下操作:
c.execute("SELECT AVG(col1) from table")
avg_c1 = c.fetchall()[0]
c.execute("SELECT AVG(col2) from table")
avg_c2 = c.fetchall()[0]
c.execute("SELECT AVG(col3) from table")
avg_c3 = c.fetchall()[0]
c.execute("SELECT AVG(col4) from table")
avg_c4 = c.fetchall()[0]
c.execute("SELECT AVG(col5) from table")
avg_c5 = c.fetchall()[0]
c.execute("SELECT AVG(col6) from table")
avg_c6 = c.fetchall()[0]
我想通过总结这些重复的行来缩短代码。但是我尝试过
c.execute("SELECT AVG(col1,col2,col3,col4,col5,col6) from table")
avg = c.fetchall()[0]
它说
AVG()
的参数数目错误。格式化我的代码的正确方法是什么?谢谢!
最佳答案
您可以使用UNION ALL
:
SELECT AVG(col)
FROM (
SELECT col1 AS col FROM tab UNION ALL
SELECT col2 FROM tab UNION ALL
...
SELECT col6 FROM tab
) s
关于python - 如何总结列的多个平均值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57231413/