Ergebnis limitieren und Reihenfolge behalten


#1

Hallo!

Vereinfacht gesagt habe ich folgendes Query:

[SQL]
SELECT timee, points
FROM pointsTable
ORDER BY timee ASC
LIMIT 1440;
[/SQL]

das funktioniert soweit auch richtig, ich bekomme die 1440 Einträge mit geringster Zeit (timee). Und diese sind aufsteigend sortiert.

Ich möchte allerdings folgendes haben:

Die 1440 Einträge mit größter Zeit, allerdings immer noch aufsteigend sortiert.
Dies könnte man durch zwei Anfragen erreichen, indem man zunächst

[SQL]
SELECT count(*) AS anzahl
FROM pointsTable;
[/SQL]

abfragt, und danach

[SQL]
SELECT timee, points
FROM pointsTable
ORDER BY timee ASC
LIMIT anzahl-1440,1440;
[/SQL]
Oder indem ich die Ausgangsabfrage so abändere:

[SQL]
SELECT timee, points
FROM pointsTable
ORDER BY timee DESC
LIMIT 1440;
[/SQL]

Und dann “von Hand” sortiere.

Gibt es aber eine Möglichkeit das in einem Query abzufragen ?

PS: Ich habe timee geschrieben, da time anscheinend (wusste ich nicht) ein Keyword ist.


#2

rein ausm Kopf geschrieben [sql]SELECT * FROM (SELECT timee, points
FROM pointsTable
ORDER BY timee ASC
LIMIT 1440) temp ORDER BY timee DESC;[/sql]

Aber das hängt auch bisschen von deiner Datenbank ab die du verwendest
Alternativ erzeuge eine View und die sortierst du dann einfach um

Keywords kansnt du einfach umgehen mit ‘abc’


#3

Vielen Dank!

Genau das hab’ ich gesucht.