11 Stimmen

Wie erhalte ich die durchschnittliche Stringlänge in mysql?

Dies:

SELECT AVG(LENGTH(string)) 
  FROM BLAH 
 LIMIT 10;

...scheint sich durch alle Ergebnisse zu schleifen. Wenn ich die AVG ausschalte, ist es viel schneller. Ist es am besten, eine Unterabfrage zu erstellen wie

SELECT AVG(len) 
  FROM (SELECT LENGTH(string) as len 
          FROM BLAH 
         LIMIT 10) as herp

Auch das scheint langsam zu sein. Ich möchte nicht alles in php laden und mit strlen durchschleifen. Ich hatte gehofft, dass es eine speichereffiziente Lösung gibt.

7voto

The Scrum Meister Punkte 29113

Die erste Abfrage durchläuft alle Zeilen der Tabelle (die Begrenzung auf 10 schränkt nichts ein, da immer nur 1 Zeile zurückgegeben wird)

die zweite Abfrage ermittelt den Durchschnitt der Zeilen 1 bis 10

Welche Art von Durchschnitt suchen Sie?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X