Я пытаюсь подвести итоговое значение в моих столбцах. У меня есть 5 столбцов, и я могу получить общие значения 1 на 1 с помощью:
import sqlite3
list2 = ['Food', 'Transport', 'Insurance', 'Installments', 'Others']
def expensedata():
con = sqlite3.connect("expense.db")
c = con.cursor()
c.execute("CREATE TABLE IF NOT EXISTS expense (id INTEGER PRIMARY KEY,\
food real, transport real, insurance real, installments real, others real)")
con.commit()
con.close()
expensedata()
con = sqlite3.connect("expense.db")
c = con.cursor()
c.execute("SELECT TOTAL(food) FROM expense")
print(c.fetchall()[0])
con.close()
Я могу получить сумму как 26.0
для этого столбца.
Но вместо того, чтобы повторять этот код n раз для n столбцов, я пытаюсь:
con = sqlite3.connect("expense.db")
c = con.cursor()
for i in range(len(list2)):
c.execute("SELECT TOTAL(?) FROM expense", (list2[i],))
print(c.fetchall()[0])
con.close()
но вместо этого получается (0.0,) (0.0,) (0.0,) (0.0,) (0.0,)
.
Как мне решить эту проблему? Спасибо