2

我想用我的数据库和查询计算我在这些小提琴中称为“差异”的值的上四分位数和下四分位数

我怎样才能用 SQLite 做到这一点?

http://www.sqlite.org/contrib?orderby=date上有一个扩展名extension-functions.c,其中包含这些命令。

如果这足以解决我的问题?如何将它集成到我的 Windows-XAMPP 环境中?

4

3 回答 3

2

根据这篇博客文章,我发现了一种相当不愉快的方法——基本上,使用 GROUP_CONCAT 按顺序列出所有值,并使用子字符串函数来提取第 25 或第 75 个百分位数的值。

于 2013-12-19T10:08:00.343 回答
2

这里有 2 个计算上四分位数 (Q3) 的版本:

注意:如果你想实现QUARTILE/QUARTILE.INC使用 N-1,你可以通过减小大小而不是增加它来实现。 SELECT @Q3_POS = 0.75*(COUNT(*)-1.00) from [Table1]

在此处输入图像描述

资料来源:为什么 Excel 有多个四分位数函数以及如何从 R 和其他统计包中复制四分位数

更多测试:

于 2014-08-26T14:41:13.817 回答
-1

我已经在您的查询本身中计算了上四分位数和下四分位数。

请检查这个小提琴:http ://sqlfiddle.com/#!2/4f1a82/31/0

基本上逻辑是:

  • 上四分位数 == 平均值(“最高数字”AND 平均值(“整个数据”))
  • 下四分位数 == 平均值(“最低数字”AND 平均值(“整个数据”))

因此添加的查询逻辑是:

((MIN(diff)+ AVG(diff)) / 2) AS lowerQuartile,
((MAX(diff)+ AVG(diff)) / 2) AS upperQuartile,
于 2013-01-26T08:23:13.917 回答