SELECT 列超过(PARTITION BY 列)
SELECT columns OVER (PARTITION BY column)
假设我想检索游泳者及其每天在第 75 个百分位的时间。
这就是我想要做的:
SELECT tableA.DATE, tableA.SWIMMER, tableA.TIME
OVER (PARTITION BY tableA.DATE)
FROM tableA
WHERE RANK = CEIL(0.75 * NUM_OF_SWIMMERS);
但是这个错误在 OVER 语句。
获取我需要的数据的最佳方式是什么?
谢谢!
您的错误是窗口函数的 OVER 子句需要 ORDER BY 子句。
但假设 num_swimmers ,为什么不只是 return
select
date,
swimmer,
time
from tablea
where
RANK = CEIL(0.75 * NUM_OF_SWIMMERS)
?
WHERE 子句将确保唯一的行 returned 是给定日期的第 75 个百分位数
假设我想检索游泳者及其每天在第 75 个百分位的时间。
这就是我想要做的:
SELECT tableA.DATE, tableA.SWIMMER, tableA.TIME
OVER (PARTITION BY tableA.DATE)
FROM tableA
WHERE RANK = CEIL(0.75 * NUM_OF_SWIMMERS);
但是这个错误在 OVER 语句。
获取我需要的数据的最佳方式是什么?
谢谢!
您的错误是窗口函数的 OVER 子句需要 ORDER BY 子句。
但假设 num_swimmers ,为什么不只是 return
select
date,
swimmer,
time
from tablea
where
RANK = CEIL(0.75 * NUM_OF_SWIMMERS)
?
WHERE 子句将确保唯一的行 returned 是给定日期的第 75 个百分位数