"Statistics for MySQL" provides additional statistical functions (like Pearson's coefficient of correlation) which are missing in MySQL. DLLs for 32 and 64bit Windows as well as makefiles for Linux are available.
The latest release of "Statistics for MySQL" is available at http://sourceforge.net/projects/sqlstat/
You can download the latest development version from the subversion repository with
svn co http://svn.code.sf.net/p/sqlstat/code/ libsqlstat
or view it the repository at http://sourceforge.net/p/sqlstat/code/.
Download and unzip the source tar ball. Follow the instructions in file INSTALL.
Remove old version
When upgrading it is necessary to first uninstall the old version of Statistics for MySQL
Drop definitions of functions provided by the previous version of Statistics for MySQL. Uninstall the plugin. This can be achieved by running the uninstall.sql script of the previous version
mysql -u root -p -f < examples\uninstall.sql
Stop the MySQL service
Remove the old Statistics for MySQL library. You find it as file libsqlstat.dll in the lib\plugin directory of your MySQL installation.
Install new version
Download and unzip the distribution tar ball.
Depending on whether you are using a 32 or a 64 bit version of MySQL navigate to directory w32 or w64. Copy libsqlstat.dll to the lib\plugin directory of your MySQL installation. You can determine the location of the plugin directory with the following command
SHOW VARIABLES LIKE 'PLUGIN_DIR';
Start the MySQL service
mysql -u root -p -f < examples\install.sql
To use any of the functions provided by Statistics for MySQL they have to be defined in MySQL by the CREATE FUNCTION command, e.g.
CREATE AGGREGATE FUNCTION corr RETURNS REAL SONAME 'libsqlstat';
Some functionality is only available if Statistics for MySQL is installed as plugin. For installation use the INSTALL PLUGIN command, e.g.
INSTALL PLUGIN libsqlstat SONAME 'libsqlstat';
File examples/install.sql provides all necessary statements.
The following functions are provided:
- avgw(x [,w]) - weighted average
- corr(x, y [,w]) - calculate Pearson correlation coefficient
- gini(x [,w]) - calculate Gini coefficient
- median(x) - calculate median
- rand_mt() - generate random number using the Mersenne Twister algorithm
- rand_norm() - generate variate of the normal distribution
- rownumber() - row number
- skewness_pop(x [,w]) - calculate population moment coefficient of skewness
- skewness_samp(x [,w]) - calculate sample moment coefficient of skewness
- stddevw_pop(x [,w]) - calculate weighted standard deviation of population
- stddevw_samp(x [,w]) - calculate weighted standard deviation of sample
Statistics for MySQL is licensed under the Apache License, Version 2.0.
You may obtain a copy of the license at http://www.apache.org/licenses/LICENSE-2.0.