我想计算这些fiddle with my DB and the query
中我称之为“差异”的值的上四分位数和下四分位数如何使用SQLite执行此操作?
http://www.sqlite.org/contrib?orderby=date,extension-functions.c上有一个扩展名,它有这些命令。
如果这对我的问题是一个充分的解决方案?如何在Windows-XAMPP环境中集成它?
答案 0 :(得分:2)
我发现基于rather unpleasant approach的this blog post - 基本上,使用GROUP_CONCAT按顺序列出所有值,使用子串函数提取第25或第75百分位的值。
答案 1 :(得分:2)
这里有两个计算上四分位数(Q3)的版本:
选项1:计算Q3位置并获取两者之间的平均值。 http://sqlfiddle.com/#!3/29f19/5 资料来源:How to Calculate the Upper Quartile
选项2(更准确):计算Q3位置并为最近位置(插值)赋予更多权重。此方法与MS Excel中的QUARTILE.EXC
相同。
http://sqlfiddle.com/#!3/29f19/6
注意:如果要实现使用N-1的QUARTILE
/ QUARTILE.INC
,可以通过递减大小而不是递增它来实现。 SELECT @Q3_POS = 0.75*(COUNT(*)-1.00) from [Table1]
更多测试:
答案 2 :(得分:0)
我在查询本身中计算了上四分位数和下四分位数。
请检查这个小提琴:http://sqlfiddle.com/#!2/4f1a82/31/0
基本上逻辑是:
因此添加的查询逻辑是:
((MIN(diff)+ AVG(diff)) / 2) AS lowerQuartile,
((MAX(diff)+ AVG(diff)) / 2) AS upperQuartile,