Попытка создать страницу с диаграммой. Я использую инфраструктуру Flask и базу данных MySQL.
@app.route("/grafiek")
def chart():
data = []
years = optimize_list(get_data("SELECT DISTINCT year FROM tbldata"))
print(years)
sql = "SELECT cast(sum(Number_employees) as signed) FROM tbldata"
sql += "WHERE year = (%s) GROUP BY year, month ORDER BY year, month ASC"
print(sql)
for year in years:
data_part = optimize_list(get_data(sql, year))
data.append(data_part)
print(data)
labels = optimize_list(get_data("SELECT DISTINCT month FROM faillisementen.tbldata"))
titels= "Number Employees in faillisementen"
colors = ['red', 'green']
return render_template("chart.html", data=data, labels=labels)
При запуске я получаю ошибку:
getting data
SELECT cast(sum(Nulber_employees) as signed) FROM tbldata
not all arguments converted during string formatting
Я предполагаю, что ошибка связана с этими строками:
sql = "SELECT cast(sum(Number_employees) as signed) FROM tbldata"
sql += "WHERE year = (%s) GROUP BY year, month ORDER BY year, month ASC"
Как мне это исправить, пожалуйста?
Обновление:
Я получаю сообщение об ошибке «не все аргументы преобразуются во время форматирования строки», когда вторая строка с (% s) не используется. Когда эта строка используется, я получаю другую ошибку.
(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= (2011) GROUP BY jaar, maand ORDER BY jaar, maand ASC' at line 1")