我们有一些图表,其中显示了一个平均值,旁边有max()和min()值。
由于数据的原因,他们希望删除max()和min()值的“极值”。
所以请求是针对每个记录的:使用5%的百分位数来代替普通的min()show,max()使用95%的百分位数。
身份证,父母,身份证,出勤时间
到目前为止,查询很简单,比如:
select AVG(attentionTime) AS time_attention,
MAX(attentionTime) AS time_max,
MIN(attentionTime) AS time_min
FROM records_stats
WHERE parent_cat = {N}
我不是一个数学爱好者,所以任何试图理解这个问题的帮助都是值得的。
percentil,在数据库术语中是这样的:删除平均值小于5的值?或者去掉95岁以上的?
1条答案
按热度按时间gab6jxml1#
您可以使用子查询来获取总体最小/最大值,然后在where子句中使用between来获取所需行的平均值。
百分位值是范围与最小/最大值的百分比。下面的查询将百分比应用于范围,然后通过添加最小值将其缩放回值。
例如,如果最小值为100,最大值为1000,则范围为900。900的5%是45,95%是855,因此需要值在45和855之间的行的平均值。