新建了一个temp表,值如下:
SQL> select *
2 from temp
3 ;
NAME VALUE
-------------------- ----------
pumpkin 3
apple 2
pear 2
cheese 5
再执行下列sql语句:
SQL> select name, value,
2 min(value) over (order by value) min1,
3 max(value) over (order by value) max1,
4 min(value) over (order by value range between unbounded preceding
5 and unbounded following) min2,
6 max(value) over (order by value range between unbounded preceding
7 and unbounded following) max2,
8 min(value) over (order by value range between current row
9 and current row) min3,
10 max(value) over (order by value range between current row
11 and current row) max3,
12 max(value) over (order by value rows between 2 preceding
13 and 2 following)max4
14 from temp
15 ;
NAME VALUE MIN1 MAX1 MIN2 MAX2 MIN3 MAX3 MAX4
-------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
apple 2 2 2 2 5 2 2 3
pear 2 2 2 2 5 2 2 5
pumpkin 3 2 3 2 5 3 3 5
cheese 5 2 5 2 5 5 5 5
发现执行完第二个sql后,value列的值是按升序排列的,请问这是为什么?
我之前以为行排列的顺序还是和第一个sql结果的顺序是一样的..