ankane/tailslide

Eloquent / Laravel 的中位数和百分位数

v0.2.0 2024-07-01 00:44 UTC

This package is not auto-updated.

Last update: 2024-09-23 01:53:58 UTC


README

Eloquent / Laravel 的中位数和百分位数

支持

  • PostgreSQL
  • MariaDB
  • MySQL(需要扩展)
  • SQL Server

🔥 尽可能使用原生函数以提高性能

Build Status

安装

运行

composer require ankane/tailslide

对于MySQL,还需遵循这些说明

入门指南

中位数

Item::median('price');

百分位数

Request::percentile('response_time', 0.95);

附加说明

MySQL

MySQL需要来自udf_infusionPERCENTILE_CONT函数。要安装它,请执行以下操作:

git clone https://github.com/infusion/udf_infusion.git
cd udf_infusion
./configure --enable-functions="percentile_cont"
make
sudo make install
mysql <options> < load.sql

历史

查看变更日志

贡献

鼓励每个人都来帮助改进这个项目。以下是一些你可以帮助的方式

开始开发

git clone https://github.com/ankane/tailslide-php.git
cd tailslide-php
composer install

运行测试

# Postgres
createdb tailslide_php_test
ADAPTER=pgsql composer test

# MariaDB
mysqladmin create tailslide_php_test
ADAPTER=mariadb composer test

# MySQL (install the extension first)
mysqladmin create tailslide_php_test
ADAPTER=mysql composer test

# SQL Server
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourStrong!Passw0rd' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
docker exec -it <container-id> /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P YourStrong\!Passw0rd -Q "CREATE DATABASE tailslide_php_test"
ADAPTER=sqlsrv composer test