Mailinglisten-Archive |
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