這篇文章主要介紹數(shù)據(jù)庫(kù)中如何改寫(xiě)max/min函數(shù),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
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.優(yōu)化方向:
sql需求顯示每個(gè)部門(mén)中大員工號(hào)和姓名,最小員工號(hào)和姓名
group by 不能同時(shí)顯示聚集結(jié)果和源數(shù)據(jù),因此需要通過(guò)自連接來(lái)實(shí)現(xiàn)。
使用分析函數(shù),將元數(shù)據(jù)和聚集數(shù)據(jù)在同一行顯示,去除自連接。
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;
以上是“數(shù)據(jù)庫(kù)中如何改寫(xiě)max/min函數(shù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!