我有一个表,其中有每天销售的产品列表,并且想知道(给定产品的)第95百分位销售的日期。我不是在看平均值,因为有些日子销量很高(可能会扭曲数字)
这是我试图在presto
上运行的查询select approx_percentile(count(date), .95)
from logs
where vendor='abc'
and product='biscuit'
and date >= date_parse(date_format(now() - interval '30' day, '%Y-%m-%d'), '%Y-%m-%d');
但是presto似乎不喜欢它,并抛出以下错误消息
查询失败:函数approx_percentile的参数意外(日期,double)。期望值:approx_percentile(bigint, double), approx_percentile(bigint, bigint, double), approx_percentile(double, double), approx_percentile(double, bigint, double)
PS: date类型为date
select product,date,count(sale)
from logs
where vendor='abc' and product = 'biscuit'
group by product,date order by count(sale) desc;
此查询将为您提供顶部最大销售额的所有细节。