Hi!
Ich habe eine Datenbank, in der unter anderem in der Spalte "bewertung" ein Integer wert steht. Angenommen es sind 5 Datensätze da, und in der Spalte "bewertung" steht folgendes:
1
5
3
8
6
Bei der Abfrage:
bekomme ich den kleinsten dieser 5, also als ergebnis "1".
Jetzt möchte ich allerdings nur die 3 grössten betrachten, und von denen den kleinsten Wert rausfinden. Bei dem obigen Beispiel sind die 3 grössten "5, 6, 8", also möchte ich "5" als ergebnis haben
Mit anderen Worten möchte ich den dritt - grössten Wert rauskriegen.
Angenommen die Tabelle sieht so aus:
1
5
Wenn z.B nur 2 Datensätze in der Tabelle sind, soll der dritt - grösste dann der kleinste Wert der Tabelle sein, also hier 1.
Wie sieht eine solche abfrage aus?
In wirklichkeit möchte ich von den 300 grössten den kleinsten Wert herausfinden, und das in einer Tabelle die theoretisch zig Tausend Datensätze haben kann.
Von daher habe ich performance - bedenken, wenn ich mir einfach die 300 grössten der Tabelle ausgeben lasse (mit ORDER BY und LIMIT), und dann in php daraus den kleinsten ermittele. Oder ist der Gedanke quatsch?
Mfg,
Stefan
Ich habe eine Datenbank, in der unter anderem in der Spalte "bewertung" ein Integer wert steht. Angenommen es sind 5 Datensätze da, und in der Spalte "bewertung" steht folgendes:
1
5
3
8
6
Bei der Abfrage:
PHP-Code:
$query = "SELECT MIN(bewertung) from tabelle"
Jetzt möchte ich allerdings nur die 3 grössten betrachten, und von denen den kleinsten Wert rausfinden. Bei dem obigen Beispiel sind die 3 grössten "5, 6, 8", also möchte ich "5" als ergebnis haben
Mit anderen Worten möchte ich den dritt - grössten Wert rauskriegen.
Angenommen die Tabelle sieht so aus:
1
5
Wenn z.B nur 2 Datensätze in der Tabelle sind, soll der dritt - grösste dann der kleinste Wert der Tabelle sein, also hier 1.
Wie sieht eine solche abfrage aus?
In wirklichkeit möchte ich von den 300 grössten den kleinsten Wert herausfinden, und das in einer Tabelle die theoretisch zig Tausend Datensätze haben kann.
Von daher habe ich performance - bedenken, wenn ich mir einfach die 300 grössten der Tabelle ausgeben lasse (mit ORDER BY und LIMIT), und dann in php daraus den kleinsten ermittele. Oder ist der Gedanke quatsch?
Mfg,
Stefan
Kommentar