【发布时间】:2014-03-15 23:07:45
【问题描述】:
我有一张桌子
字段1 |字段2 |字段3 |低 |高
我不关心 Field3 的细分,所以希望每个 Field 1 都有一条记录 |字段 2 设置为:
字段1 |字段2 |低|高
(因为我不关心 Field 3 的突破)
并以 e.g 结尾
- 苹果 |白色 | 1 | 100
- 香蕉 |白色 | 101 | 400
- 猕猴桃 |白色 | 402 | 750
- 香蕉 |黑色 | 1 | 85
- 苹果 |黑色 | 90 | 205
- 猕猴桃 |黑色 | 210 | 5504 等等
所以我想我可以做到
Create table LOW_HIGH_ALL as (select ID, FIeld1, FIeld2, max(High), min(Low) from LOW_HIGH group by Field1, Field2
如您所见,每个字段 1 都代表字段 B 字段中不重叠的范围。
问题是存在一些“不良数据”,所以有时我会得到:
- 苹果 |白色 | 1 | 100
- 香蕉 |白色 | 1 | 400
- 猕猴桃 |白色 | 1 | 750
即坏的最小数据。我不能只是假设 1 总是不好的。所以我想如果我能接近最低的最小值,我可以得到
- 苹果 |白色 | 1 | 4 | 100
- 香蕉|白色 | 1 | 101 | 400
- 猕猴桃 |白色 | 1 | 401 | 700
并且可以使用 'Min-1' 和 Min 之间的差异来确定我何时有错误的最小数据(并且可以使用第二个值代替,到目前为止,它似乎只是偶尔出现一个错误的最小数据。
我尝试做 Min-1 不起作用,所以想知道是否有其他方法可以提取第二低的值。
【问题讨论】:
-
第二高?第二低?
-
第二低,我的错,已更正,感谢您的敏锐眼光