3つの列の平均を探して降順で並べ替えることを試みています。私はSQLの方が新しいですが、これを徹底的に調べましたが、3つの列の平均を見つける方法はまだ分かりません。以下はコードです。Sqlite3 Pythonで複数の列の平均を検索し、降順に並べ替える
import sqlite3
connection = sqlite3.connect("class1.db")
cursor = connection.cursor()
cursor.execute("SELECT*FROM class1 avg (score1+score2+score3) DESC")
print("Class 1:")
result = cursor.fetchall()
for r in result:
print(r)
これは返されるエラーです。
Traceback (most recent call last):
File "F:\Adair,Rowan CA2\Task 3\Code\DisplayTablesAverage.py", line 4, in <module>
cursor.execute("SELECT*FROM class1 avg (score1+score2+score3) DESC")
sqlite3.OperationalError: near "(": syntax error
これについてのお手伝いをさせていただきます。 更新:プログラムは平均値を返すことができるようになりましたが、平均値のみを返します。私は他の2つの列(姓、名)も返す必要があります。以下はテーブルコードです。
import sqlite3
connection=sqlite3.connect('class1.db')
cursor=connection.cursor()
sql_command1 = """
CREATE TABLE class1 (
surname VARCHAR (20),
forename VARCHAR (20),
score1 INTEGER,
score2 INTEGER,
score3 INTEGER);"""
cursor.execute(sql_command1)
connection.commit()
connection.close()
にこれはfloatとして平均のみを返すために動作しますが、私はまた、他の二つのcolums(姓、FIRSTNAME)をしたいですかhttps://www.sqlite.org/lang_select.html –