Seite 1 von 1

Datenbankabfrage sortieren

Verfasst: Sonntag 9. Mai 2021, 22:15
von Goofy19000
Hi,

ich bin ein kompletter Neuling und habe eine frage zur abfrage / Sortierung:

....


cursor.execute("SELECT name,geraet,typ,id from Beispiel";)

if cursor.rowcount > 0:
ergebniss = cursor.fetchall()

print(ergebniss)

cursor.close()
connection.close()



ich habe ca. 50 Datensätze die kommen jetzt alle hintereinander raus in einem großen block. Ich muss diese aber sortiert haben also das Ergebnis sollte so aussehen:

wie bekomme ich das hin das er es mir sortiert? und nicht alles hintereinander ausspuckt? idealerweise mit den Überschriften im Beispiel.

||NAME||GERAET||TYP||ID||
|testA|geraetA|TYP1| 1 |
|testB|geraetB|TYP2| 2 |
|testC|geraetC|TYP3| 3 |
|testD|geraetD|TYP4| 3 |

Re: Datenbankabfrage sortieren

Verfasst: Montag 10. Mai 2021, 06:12
von noisefloor
Hallo,

`cursor.fetchall()` liefert dir immer ein Tuple von Tuplen bzw. ein Tuple von Listen zurück - also etwas, worüber du iterieren kannst.

Also mit

Code: Alles auswählen

...
ergebnis = cursor.fetchall()
for zeile in ergebnis:
    print(zeile)
...
bekommst du es zeilenweise ausgegeben. `zeile` ist auch eine Liste bzw. ein Tuple, d.h. auf die Elemente kannst du per Index zugreifen und dann ggf. die Ausgabe so noch weiter formatieren.

Falls du das Ergebnis der Datenbankabfrage an sich nach irgendwas sortiert haben willst, dann musst du halt in den SQL-Query noch eine `ORDER BY` einbauen.

Gruß, noisefloor

Re: Datenbankabfrage sortieren

Verfasst: Mittwoch 12. Mai 2021, 04:10
von Goofy19000
vielen Dank !