Ich versuche den Durchschnitt von drei Spalten zu finden und sie in absteigender Reihenfolge zu ordnen. Ich bin neuer zu SQL, aber ich habe mich intensiv damit beschäftigt, aber ich bin immer noch unsicher, wie man den Durchschnitt von drei Spalten findet. Unten ist der Code.Den Durchschnitt mehrerer Spalten in Sqlite3 Python finden und in absteigender Reihenfolge sortieren
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)
Dies ist der Fehler, der zurückgegeben wird.
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
Jede Hilfe mit diesem würde sehr geschätzt werden. UPDATE: Das Programm kann nun den Durchschnittswert zurückgeben, gibt aber nur den Durchschnittswert zurück. Ich muss auch die zwei anderen Spalten (Nachname, Vorname) zurückgeben. Hier ist der Tabellencode.
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()
das Syntaxdiagramm Consult bei https://www.sqlite.org/lang_select.html –