您好,登錄后才能下訂單哦!
這篇文章主要介紹數據庫中如何改寫max/min函數,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
1.OLD:
SELECT a.deptno, a.min_no, mi.ename AS min_n, ma.empno AS max_n FROM ( SELECT deptno, MIN (empno) AS min_no, MAX (empno) AS max_no FROM emp GROUP BY deptno) a INNER JOIN emp mi ON (mi.deptno = a.deptno AND mi.empno = a.min_no) INNER JOIN emp ma ON (ma.deptno = a.deptno AND ma.empno = a.max_no);
2.優化方向:
sql需求顯示每個部門中最大員工號和姓名,最小員工號和姓名
group by 不能同時顯示聚集結果和源數據,因此需要通過自連接來實現。
使用分析函數,將元數據和聚集數據在同一行顯示,去除自連接。
select deptno, min(empno) min_no, min(ename) keep(dense_rank first order by empno) min_n, max(empno) max_no, min(ename) keep(dense_rank last order by empno) max_n from emp group by deptno;
以上是“數據庫中如何改寫max/min函數”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。