Considerando que de MySQL se lo mismo que de Quimica organica y de delphi se lo mismo que algebra basica esto me ha funcionado con Firebird
Código Delphi
[-]
procedure TdmDatos.CalculaMediaStdDev;
var
Numeros: array of double;
nConta: integer;
Desviacion,Promedio: extended;
begin
if qyPlot.recordcount > 0 then
begin
setlength(Numeros, qyPlot.RecordCount);
for nConta := 1 to qyPlot.RecordCount do
begin
Numeros[nConta-1] := qyPlot.Fields[1].Value ;
qyPlot.Next ;
end;
MeanAndStdDev(Numeros,Promedio,Desviacion);
frmVistaPrincipal.ActualizaEstadistica(promedio,desviacion); end;
end;
Es una idea. Ahora que si tu lo quieres como procedimiento almacenado en tu bd pues......ni como ayudarte. Suerte