over()里面不加order by 显示结果是正确的,显示的结果最后一列就是部门最低工资,但是为什么加上order by userid 后,结果就不对了啊?





套一层就好了。何必纠结。
SELECT * FROM (SELECT USERID,DEPT,SALARY,MIN(SALARY) OVER(PARTITION BY DEPT) SALARY2 FROM DEPT) XX ORDER BY XX.USERID
order by userid表示按userid排序了
order by 在这个 over 函数里 加或不加 意义不同的,加的话 代表“累计”执行,而不加的话 代表“总计”执行