phpbar.de logo

Mailinglisten-Archive

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

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

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Fre Jun 17 11:26:12 CEST 2005


Hi Michael,

Michael Wurz schrieb:
> Guten Morgen Männer,

es gibt hier auch Frauen auf der Liste (genauso wie bei der Bundeswehr)...
*scnr* ;-)


> 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 habe mir gerade noch einmal die Funktionen durchgesehen, habe aber
auch nichts Entsprechendes gefunden.


> 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.

Ich kenne Deine Tabelle und den SQL-Befehl leider nicht, aber wenn Du nur
die eine Spalte, um die es geht, mit DISTINCT durchsuchst und auf diese
Spalte einen Index legst, könnte die Abfrage schnell werden:

  SELECT DISTINCT kriterium FROM tabelle ORDER BY kriterium ASC LIMIT 3, 1

Noch schneller könntest Du werden, wenn Du einen ungefähren Anhaltspunkt
hast, wie groß "kriterium" mindestens sein muß. Dann könntest Du noch ein

   WHERE kriterium > x

ergänzen.


Viele Grüße

Lutz


php::bar PHP Wiki   -   Listenarchive