phpbar.de logo

Mailinglisten-Archive

[php] [php/mysql] Harte Nuss - Aggregatfunktionen

[php] [php/mysql] Harte Nuss - Aggregatfunktionen

Michael Wurz spammic at gmail.com
Fre Jun 17 09:43:10 CEST 2005


Guten Morgen Männer,

vielen Dank noch mal für die Hilfe bei meinem letzten Problem mit der Kalenderfunktion. Nun habe ich eine Frage, der ich wirklich einen hohen Schwierigkeitsgrad zuordnen würde. Ich hoffe, dass ihr auch hier ne Idee bekommt. Oder meint ihr, dass die Frage in dbs at phpbar.de besser aufgehoben wäre?


Ihr kennt ja alle die Aggregatfunktionen von Mysql [AVG() , STD() , SUM() , MAX() und MIN()].

Kennt ihr auch die Excel Funktionen KKLEINSTE und KGROESSTE?
KKLEINSTE(B1:B10; 4) liefert beispielsweise aus den Zellen B1 bis B10 den viertkleinsten Wert!

Gibt es für MySQL eine ähnliche Schweinerei unter der Verwendung der Aggregatfunktion?
Ich benutze im Moment noch "ORDER BY kriterium ASC LIMIT $position, 1"! Macht mir aber wenig Freude in Sachen Ladezeiten.
-- Hintergrund ist die Tatsache, dass der derzeit eingesetzte Befehl sehr langsam ist, sobald die Tabelle viele Datensätze enthält. Die Aggregatfunktionen sind ja nahezu instantan. Und die KKLEINSTE und KGROESSTE in Excel sind auch ganz schön fix. Habe deswegen die Hoffnung bekommen, dass man die Lösung auch irgendwie in MySQL abbilden kann.


Zusammenfassende Frage, falls die Erklärung unglücklich war:
Wie würdet ihr in einer Tabelle mit 100.000 Datensätzen, den 27.840. Wert aussuchen ohne mit der oben genannten Select Klausel erst alle Tupel zu sortieren und dann den gesuchten mit einem 1er Limit auszusuchen!?

Viele Grüße
Michael

php::bar PHP Wiki   -   Listenarchive