我正在触发一个使用PERCENTILE_CONT()函数的查询,如下所示:
select .....
PERCENTILE_CONT(0.90) within group (order by END_DATE-START_DATE)
from ....
where .....
;现在,当我从Oracle中的SQLDeveloper中激发它时,这个查询完全可以工作,但是出于某种原因,我需要使用RedShift数据库,当我在其中触发上面的查询时,它会抛出一个错误,例如:
ERROR: function percentile_cont(interval, numeric) does not exist
Hint: No function matches the given name and argument types. You may need to add explicit type casts.`正如建议的那样,我尝试使用类型转换到十进制和整数类型,但是我得到了相同的错误。
我已经搜索过文档,但也找不到解决方案。有什么想法,为什么?
P.S:不能把标签PERCENTILE_CONT,因为它有较少的声誉。
发布于 2017-09-13 01:40:03
这行得通吗?
PERCENTILE_CONT(0.90) within group (order by datediff(day, START_DATE, END_DATE)我猜问题在于日期的差异。
发布于 2017-09-13 07:08:11
看看这个!
percentile_cont(0.90) within group
((order by datediff(day, START_DATE, END_DATE)::INT4 desc) over()https://stackoverflow.com/questions/46187514
复制相似问题