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 |
Datenbankabfrage sortieren
- noisefloor
- User
- Beiträge: 3875
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
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
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
`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)
...
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