假设我想在每天的第75百分位检索游泳运动员和他们的时间。
这就是我想要做的事情:
SELECT tableA.DATE, tableA.SWIMMER, tableA.TIME
OVER (PARTITION BY tableA.DATE)
FROM tableA
WHERE RANK = CEIL(0.75 * NUM_OF_SWIMMERS);
但是在OVER声明中这个错误。
获取所需数据的最佳方式是什么?
谢谢!
答案 0 :(得分:2)
您的错误是窗口函数的OVER子句需要ORDER BY子句。
但假设num_swimmers,为什么不返回
select
date,
swimmer,
time
from tablea
where
RANK = CEIL(0.75 * NUM_OF_SWIMMERS)
WHERE子句将确保返回的唯一行是给定日期的第75个百分位数