letzten beiden werte einer Tabelle auslesen

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

Hallo Forum,

ich habe folgendes Problem. Zum ersten werden hier die ersten beiden Tabelleneinträge einer DB angezeigt und ich würde gerne immer die letzten beiden haben. Zum einen will ich die beiden Ergebnise miteinander subtrahieren.
kann mir jemand sagen wie man die Werte der Schleife in einer variable abspeichert?

vielen Dank

Code: Alles auswählen

    time = Time.objects.all().order_by('time')[:2]
    for t in time:
        print t.time
Sirius3
User
Beiträge: 18216
Registriert: Sonntag 21. Oktober 2012, 17:20

@erdmulch: wie wär's mit absteigend sortieren?
bfm
User
Beiträge: 88
Registriert: Donnerstag 14. März 2013, 09:42

Bei SQL gibt es dann noch "LIMIT" ==> LIMIT 2 heißt dann, dass das Ergebnis der SELECT-Anweisung auf zwei Datensätze begrenzt wird :-)
Benutzeravatar
sparrow
User
Beiträge: 4504
Registriert: Freitag 17. April 2009, 10:28

Code: Alles auswählen

time = Time.objects.all().order_by('-time')[:2]
?!?
BlackJack

@bfm: Gibt es das tatsächlich in SQL? AFAIK ist das kein SQL-Standard sondern eine Erweiterung die einige Datenbanken verstehen, andere wiederum nicht. Ist letztendlich aber auch egal denn a) reden wir hier nicht von SQL sondern vom Django-ORM, und b) rate mal wozu ein ``[:2]`` in der SQL-Anfrage wird wenn das verwendete RDBMS ``LIMIT`` versteht und die Semantik von der Implementierung passt.
Antworten