Seite 1 von 1

letzten beiden werte einer Tabelle auslesen

Verfasst: Montag 2. Februar 2015, 19:48
von erdmulch
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

Re: letzten beiden werte einer Tabelle auslesen

Verfasst: Montag 2. Februar 2015, 19:55
von Sirius3
@erdmulch: wie wär's mit absteigend sortieren?

Re: letzten beiden werte einer Tabelle auslesen

Verfasst: Dienstag 3. Februar 2015, 10:21
von bfm
Bei SQL gibt es dann noch "LIMIT" ==> LIMIT 2 heißt dann, dass das Ergebnis der SELECT-Anweisung auf zwei Datensätze begrenzt wird :-)

Re: letzten beiden werte einer Tabelle auslesen

Verfasst: Dienstag 3. Februar 2015, 10:25
von sparrow

Code: Alles auswählen

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

Re: letzten beiden werte einer Tabelle auslesen

Verfasst: Dienstag 3. Februar 2015, 10:47
von 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.