【发布时间】:2014-02-13 21:35:49
【问题描述】:
我们有一张包含数百万条目的表格。该表有两列,现在当 X 超出某个值时,X 和 Y 之间存在相关性,Y 趋向于 B(但并不总是如此,它是趋势而不是确定性)。
在这里我想找到 X 的阈值,即(X1),使得小于 X1 的值的至少 99% 是 B。
使用代码可以轻松完成。但是是否有可以进行计算的 SQL 查询。
对于下面的数据集,预期为 6,因为低于 6 时超过 99% 是“B”,并且没有大于 99% 的 X 值是“B”。但是,如果我将其更改为 90% 的精度,那么它将变为 12,因为如果 X
所以我们需要找到最大值 X1,使得小于 X1 的值中至少有 99% 是“B”。
X Y
------
2 B
3 B
3 B
4 B
5 B
5 B
5 B
6 G
7 B
7 B
7 B
8 B
8 B
8 B
12 G
12 G
12 G
12 G
12 G
12 G
12 G
12 G
13 G
13 G
13 B
13 G
13 G
13 G
13 G
13 G
14 B
14 G
14 G
【问题讨论】:
-
你也能提供预期的结果吗?不确定我是否正确理解问题
-
对于预期的确切数据集是 6,因为低于 6 超过 99% 是“B”,并且没有更大的 X 值超过 99% 是“B”。但是,如果我将其更改为 90% 的精度,那么它将变为 12,因为如果 X
标签: sql oracle aggregate-functions precision percentile