当前代码:
import pyodbc
connection = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
if connection:
print("Yes we connected\n")
cur = connection.cursor()
cur.execute(SELECT cost1 FROM tbl)
data = cur.fetchall()
for row in data:
print(row)
我承认我几乎不知道我在python中做了什么,而且我不久前被一个项目打了个耳机,那是ASA-昨天。我需要能够从SQL查询中获取结果并将它们相加。或者将它们存储在变量中,以便我可以在等式中回调它们。
结果是: 10, 431, 543, 1268, 1207
预期结果 3459
我非常乐意提供更多信息,我将暂时继续研究。
答案 0 :(得分:2)
如果您只是在总和之后而不是单个数字,那么最简单的方法是在SQL中执行此操作:
query = 'select sum(cost1) from tbl'
如果你想要个别号码那么。:
cur.execute(SELECT cost1 FROM tbl)
data = cur.fetchall()
tot = 0
for row in data:
print(row)
tot += row[0]
print(tot)
答案 1 :(得分:1)
您的SQL查询应修改为SELECT sum(cost1) FROM tbl
或者你可以在python中得到结果,并总结它们...... 否则你只是在cost1
列中得到一个值列表或在python中你可以这样做:
import pyodbc
connection = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
if connection:
print("Yes we connected\n")
cur = connection.cursor()
cur.execute(SELECT cost1 FROM tbl)
data = cur.fetchall()
sum = 0
for row in data:
sum = sum + row
print(sum)
答案 2 :(得分:0)
您无需逐行添加:
import pyodbc
connection = pyodbc.connect('DRIVER={ODBC Driver 13 for SQLServer};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
if connection:
print("Yes we connected\n")
cur = connection.cursor()
cur.execute('SELECT sum(cost1) FROM tbl;')
x=cur.fetchone()[0]
print(x) # x will hold the value of the sum
祝你有美好的一天。