锘??xml version="1.0" encoding="utf-8" standalone="yes"?> Function Use ADD_MONTHS Adds months to a date LAST_DAY Computes the last day of the month MONTHS_BETWEEN Determines the number of months between two dates NEW_TIME Translates a time to a new time zone NEXT_DAY Returns the date of the next specified weekday ROUND Rounds a date/time value to a specified element SYSDATE Returns the current date and time TO_CHAR Converts dates to strings TO_DATE Converts strings and numbers to dates TRUNC Truncates a date/time value to a specific element
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ------ --------- ---- ----------- ---- ---- -------
7369 SMITH CLERK 7902 17-DEC-1980 800 20
7499 ALLEN SALESMAN 7698 20-FEB-1981 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-1981 1250 500 30
7566 JONES MANAGER 7839 02-APR-1981 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-1981 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-1981 2850 30
7782 CLARK MANAGER 7839 09-JUN-1981 2450 10
7788 SCOTT ANALYST 7566 09-DEC-1982 3000 20
7839 KING PRESIDENT 17-NOV-1981 5000 10
7844 TURNER SALESMAN 7698 08-SEP-1981 1500 0 30
7876 ADAMS CLERK 7788 12-JAN-1983 1100 20
7900 JAMES CLERK 7698 03-DEC-1981 950 30
7902 FORD ANALYST 7566 03-DEC-1981 3000 20
7934 MILLER CLERK 7782 23-JAN-1982 1300 10
2.闂錛氭煡鎵綝EPTNO 20涓嚭鐜版渶澶氭鏁扮殑宸ヨ祫錛?/span>
select sal
from emp
where deptno = 20
order by sal
SAL
----------
800
1100
2975
3000
3000
3.瑙e喅鏂規(guī)
浣跨敤紿楀彛鍑芥暟 DENSE_RANK,鎶婂伐璧勯噸澶嶅嚭鐜扮殑嬈℃暟鍒嗙瓑綰с?br />
1 select sal
2 from (
3 select sal,
4 dense_rank()over( order by cnt desc) as rnk
5 from (
6 select sal, count(*) as cnt
8 from emp
9 where deptno = 20
10 group by sal
11 ) x
12 ) y
13 where rnk = 1
]]>
2.NULLIF錛堝瓧孌靛悕錛屽瓧孌靛鹼級鑻ュ瓧孌靛悕鐨勫間負"瀛楁鍊?錛屽垯灝嗚瀛楁鍊兼浛鎹㈡垚NULL
3.COALESCE(琛ㄨ揪寮?錛岃〃杈懼紡2錛?..琛ㄨ揪寮弉錛?浠庡乏鍒板彸 渚濇鍒ゆ柇琛ㄨ揪寮忕殑鍊?榪斿洖絎竴涓潪絀虹殑琛ㄨ揪寮忕殑鍊箋?br />
]]>
Oracle浠?i寮濮嬪氨鎻愪緵浜嗗ぇ閲忕殑鏃ユ湡鍑芥暟錛岃繖浜涙棩鏈熷嚱鏁板寘鎷鏃ユ湡榪涜鍔犲噺銆佽漿鎹€佹埅鍙栫瓑鍔熻兘銆備笅闈㈡槸Oracle鎻愪緵鐨勬棩鏈熷嚱鏁頒竴瑙堣〃
鏇村璇︾粏鍐呭璇峰弬鑰冿細http://www.tkk7.com/pengpenglin/archive/2008/06/30/211589.html
]]>
1.AVG
鍔熻兘鎻忚堪錛氱敤浜庤綆椾竴涓粍鍜屾暟鎹獥鍙e唴琛ㄨ揪寮忕殑騫沖潎鍊箋?br />
SAMPLE錛氫笅闈㈢殑渚嬪瓙涓垪c_mavg璁$畻鍛樺伐琛ㄤ腑姣忎釜鍛樺伐鐨勫鉤鍧囪柂姘存姤鍛婏紝璇ュ鉤鍧囧肩敱褰撳墠鍛樺伐鍜屼笌涔嬪叿鏈夌浉鍚岀粡鐞嗙殑鍓嶄竴涓拰鍚庝竴涓笁鑰呯殑騫沖潎鏁板緱鏉ワ紱
SELECT manager_id, last_name, hire_date, salary,
AVG(salary) OVER (PARTITION BY manager_id ORDER BY hire_date
ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS c_mavg
FROM employees;
MANAGER_ID LAST_NAME HIRE_DATE SALARY C_MAVG
---------- ------------------------- --------- ---------- ----------
100 Kochhar 21-SEP-89 17000 17000
100 De Haan 13-JAN-93 17000 15000
100 Raphaely 07-DEC-94 11000 11966.6667
100 Kaufling 01-MAY-95 7900 10633.3333
100 Hartstein 17-FEB-96 13000 9633.33333
100 Weiss 18-JUL-96 8000 11666.6667
100 Russell 01-OCT-96 14000 11833.3333
2.COUNT
鍔熻兘鎻忚堪錛氬涓緇勫唴鍙戠敓鐨勪簨鎯呰繘琛岀瘡縐鏁幫紝濡傛灉鎸囧畾*鎴栦竴浜涢潪絀哄父鏁幫紝count灝嗗鎵鏈夎璁℃暟錛屽鏋滄寚瀹氫竴涓〃杈懼紡錛宑ount榪斿洖琛ㄨ揪寮忛潪絀鴻祴鍊肩殑璁℃暟錛屽綋鏈夌浉鍚屽煎嚭鐜版椂錛岃繖浜涚浉絳夌殑鍊奸兘浼氳綰沖叆琚綆楃殑鍊鹼紱鍙互浣跨敤DISTINCT鏉ヨ褰曞幓鎺変竴緇勪腑瀹屽叏鐩稿悓鐨勬暟鎹悗鍑虹幇鐨勮鏁般?br />
SAMPLE錛氫笅闈緥瀛愪腑璁$畻姣忎釜鍛樺伐鍦ㄦ寜钖按鎺掑簭涓綋鍓嶈闄勮繎钖按鍦╗n-50,n+150]涔嬮棿鐨勮鏁幫紝n琛ㄧず褰撳墠琛岀殑钖按渚嬪錛孭hiltanker鐨勮柂姘?200錛屾帓鍦ㄤ粬涔嬪墠鐨勮涓柂姘村ぇ浜庣瓑浜?200-50鐨勬湁1琛岋紝鎺掑湪浠栦箣鍚庣殑琛屼腑钖按灝忎簬絳変簬2200錛?50鐨勮娌℃湁錛屾墍浠ount璁℃暟鍊糲nt3涓?錛堝寘鎷嚜宸卞綋鍓嶈錛夛紱cnt2鍊肩浉褰撲簬灝忎簬絳変簬褰撳墠琛岀殑SALARY鍊肩殑鎵鏈夎鏁?
SELECT last_name, salary, COUNT(*) OVER () AS cnt1,
COUNT(*) OVER (ORDER BY salary) AS cnt2,
COUNT(*) OVER (ORDER BY salary RANGE BETWEEN 50 PRECEDING
AND 150 FOLLOWING) AS cnt3 FROM employees;
LAST_NAME SALARY CNT1 CNT2 CNT3
------------------------- ---------- ---------- ---------- ----------
Olson 2100 107 1 3
Markle 2200 107 3 2
Philtanker 2200 107 3 2
Landry 2400 107 5 8
Gee 2400 107 5 8
Colmenares 2500 107 11 10
Patel 2500 107 11 10
3.DENSE_RANK
鍔熻兘鎻忚堪錛氭牴鎹甇RDER BY瀛愬彞涓〃杈懼紡鐨勫鹼紝浠庢煡璇㈣繑鍥炵殑姣忎竴琛岋紝璁$畻瀹冧滑涓庡叾瀹冭鐨勭浉瀵逛綅緗傜粍鍐呯殑鏁版嵁鎸塐RDER BY瀛愬彞鎺掑簭錛岀劧鍚庣粰姣忎竴琛岃祴涓涓彿錛屼粠鑰屽艦鎴愪竴涓簭鍒楋紝璇ュ簭鍒椾粠1寮濮嬶紝寰鍚庣瘡鍔犮傛瘡嬈RDER BY琛ㄨ揪寮忕殑鍊煎彂鐢熷彉鍖栨椂錛岃搴忓垪涔熼殢涔嬪鍔犮傛湁鍚屾牱鍊肩殑琛屽緱鍒板悓鏍風殑鏁板瓧搴忓彿錛堣涓簄ull鏃剁浉絳夌殑錛夈傚瘑闆嗙殑搴忓垪榪斿洖鐨勬椂娌℃湁闂撮殧鐨勬暟
SAMPLE錛氫笅渚嬩腑璁$畻姣忎釜鍛樺伐鎸夐儴闂ㄥ垎鍖哄啀鎸夎柂姘存帓搴忥紝渚濇鍑虹幇鐨勫簭鍒楀彿錛堟敞鎰忎笌RANK鍑芥暟鐨勫尯鍒級
SELECT d.department_id , e.last_name, e.salary, DENSE_RANK()
OVER (PARTITION BY e.department_id ORDER BY e.salary) as drank
FROM employees e, departments d
WHERE e.department_id = d.department_id
AND d.department_id IN ('60', '90');
DEPARTMENT_ID LAST_NAME SALARY DRANK
------------- ------------------------- ---------- ----------
60 Lorentz 4200 1
60 Austin 4800 2
60 Pataballa 4800 2
60 Ernst 6000 3
60 Hunold 9000 4
90 Kochhar 17000 1
90 De Haan 17000 1
90 King 24000 2
RANK()涓嶥ENSE_RANK()鐢ㄦ硶鐩稿綋錛屼絾鏄湁涓涓尯鍒細DENSE_RANK鍦ㄥ鐞嗙浉鍚岀殑絳夌駭鏃訛紝絳夌駭鐨勬暟鍊間笉浼氳煩榪?RANK()鍒欒煩榪囥?br />
RANK
鍔熻兘鎻忚堪錛氭牴鎹甇RDER BY瀛愬彞涓〃杈懼紡鐨勫鹼紝浠庢煡璇㈣繑鍥炵殑姣忎竴琛岋紝璁$畻瀹冧滑涓庡叾瀹冭鐨勭浉瀵逛綅緗傜粍鍐呯殑鏁版嵁鎸塐RDER BY瀛愬彞鎺掑簭錛岀劧鍚庣粰姣忎竴琛岃祴涓涓彿錛屼粠鑰屽艦鎴愪竴涓簭鍒楋紝璇ュ簭鍒椾粠1寮濮嬶紝寰鍚庣瘡鍔犮傛瘡嬈RDER BY琛ㄨ揪寮忕殑鍊煎彂鐢熷彉鍖栨椂錛岃搴忓垪涔熼殢涔嬪鍔犮傛湁鍚屾牱鍊肩殑琛屽緱鍒板悓鏍風殑鏁板瓧搴忓彿錛堣涓簄ull鏃剁浉絳夌殑錛夈傜劧鑰岋紝濡傛灉涓よ鐨勭‘寰楀埌鍚屾牱鐨勬帓搴忥紝鍒欏簭鏁板皢闅忓悗璺寵穬銆傝嫢涓よ搴忔暟涓?錛屽垯娌℃湁搴忔暟2錛屽簭鍒楀皢緇欑粍涓殑涓嬩竴琛屽垎閰嶅?錛孌ENSE_RANK鍒欐病鏈変換浣曡煩璺冦?br />
SAMPLE錛氫笅渚嬩腑璁$畻姣忎釜鍛樺伐鎸夐儴闂ㄥ垎鍖哄啀鎸夎柂姘存帓搴忥紝渚濇鍑虹幇鐨勫簭鍒楀彿錛堟敞鎰忎笌DENSE_RANK鍑芥暟鐨勫尯鍒級
SELECT d.department_id , e.last_name, e.salary, RANK()
OVER (PARTITION BY e.department_id ORDER BY e.salary) as drank
FROM employees e, departments d
WHERE e.department_id = d.department_id
AND d.department_id IN ('60', '90');
DEPARTMENT_ID LAST_NAME SALARY DRANK
------------- ------------------------- ---------- ----------
60 Lorentz 4200 1
60 Austin 4800 2
60 Pataballa 4800 2
60 Ernst 6000 4
60 Hunold 9000 5
90 Kochhar 17000 1
90 De Haan 17000 1
90 King 24000 3
4.FIRST
鍔熻兘鎻忚堪錛氫粠DENSE_RANK榪斿洖鐨勯泦鍚堜腑鍙栧嚭鎺掑湪鏈鍓嶉潰鐨勪竴涓肩殑琛岋紙鍙兘澶氳錛屽洜涓哄煎彲鑳界浉絳夛級錛屽洜姝ゅ畬鏁寸殑璇硶闇瑕佸湪寮濮嬪鍔犱笂涓涓泦鍚堝嚱鏁頒互浠庝腑鍙栧嚭璁板綍SAMPLE.
涓嬮潰渚嬪瓙涓璂ENSE_RANK鎸夐儴闂ㄥ垎鍖猴紝鍐嶆寜浣i噾commission_pct鎺掑簭錛孎IRST鍙栧嚭浣i噾鏈浣庣殑瀵瑰簲鐨勬墍鏈夎錛岀劧鍚庡墠闈㈢殑MAX鍑芥暟浠庤繖涓泦鍚堜腑鍙栧嚭钖按鏈浣庣殑鍊鹼紱LAST鍙栧嚭浣i噾鏈楂樼殑瀵瑰簲鐨勬墍鏈夎錛岀劧鍚庡墠闈㈢殑MIN鍑芥暟浠庤繖涓泦鍚堜腑鍙栧嚭钖按鏈楂樼殑鍊?
SELECT last_name, department_id, salary,
MIN(salary) KEEP (DENSE_RANK FIRST ORDER BY commission_pct)
OVER (PARTITION BY department_id) "Worst",
MAX(salary) KEEP (DENSE_RANK LAST ORDER BY commission_pct)
OVER (PARTITION BY department_id) "Best"
FROM employees
WHERE department_id in (20,80)
ORDER BY department_id, salary;
LAST_NAME DEPARTMENT_ID SALARY Worst Best
------------------------- ------------- ---------- ---------- ----------
Fay 20 6000 6000 13000
Hartstein 20 13000 6000 13000
Kumar 80 6100 6100 14000
Banda 80 6200 6100 14000
Johnson 80 6200 6100 14000
Ande 80 6400 6100 14000
Lee 80 6800 6100 14000
Tuvault 80 7000 6100 14000
Sewall 80 7000 6100 14000
Marvins 80 7200 6100 14000
Bates 80 7300 6100 14000
5.FIRST_VALUE
鍔熻兘鎻忚堪錛氳繑鍥炵粍涓暟鎹獥鍙g殑絎竴涓箋?br />
SAMPLE錛氫笅闈緥瀛愯綆楁寜閮ㄩ棬鍒嗗尯鎸夎柂姘存帓搴忕殑鏁版嵁紿楀彛鐨勭涓涓煎搴旂殑鍚嶅瓧錛屽鏋滆柂姘寸殑絎竴涓兼湁澶氫釜錛屽垯浠庡涓搴旂殑鍚嶅瓧涓彇緙虹渷鎺掑簭鐨勭涓涓悕瀛?
SELECT department_id, last_name, salary, FIRST_VALUE(last_name)
OVER (PARTITION BY department_id ORDER BY salary ASC ) AS lowest_sal
FROM employees
WHERE department_id in(20,30);
DEPARTMENT_ID LAST_NAME SALARY LOWEST_SAL
------------- ------------------------- ---------- --------------
20 Fay 6000 Fay
20 Hartstein 13000 Fay
30 Colmenares 2500 Colmenares
30 Himuro 2600 Colmenares
30 Tobias 2800 Colmenares
30 Baida 2900 Colmenares
30 Khoo 3100 Colmenares
30 Raphaely 11000 Colmenares
6.LAST
鍔熻兘鎻忚堪錛氫粠DENSE_RANK榪斿洖鐨勯泦鍚堜腑鍙栧嚭鎺掑湪鏈鍚庨潰鐨勪竴涓肩殑琛岋紙鍙兘澶氳錛屽洜涓哄煎彲鑳界浉絳夛級錛屽洜姝ゅ畬鏁寸殑璇硶闇瑕佸湪寮濮嬪鍔犱笂涓涓泦鍚堝嚱鏁頒互浠庝腑鍙栧嚭璁板綍
SAMPLE錛氫笅闈緥瀛愪腑DENSE_RANK鎸夐儴闂ㄥ垎鍖猴紝鍐嶆寜浣i噾commission_pct鎺掑簭錛孎IRST鍙栧嚭浣i噾鏈浣庣殑瀵瑰簲鐨勬墍鏈夎錛岀劧鍚庡墠闈㈢殑MAX鍑芥暟浠庤繖涓泦鍚堜腑鍙栧嚭钖按鏈浣庣殑鍊鹼紱LAST鍙栧嚭浣i噾鏈楂樼殑瀵瑰簲鐨勬墍鏈夎錛岀劧鍚庡墠闈㈢殑MIN鍑芥暟浠庤繖涓泦鍚堜腑鍙栧嚭钖按鏈楂樼殑鍊?br />
SELECT last_name, department_id, salary,
MIN(salary) KEEP (DENSE_RANK FIRST ORDER BY commission_pct)
OVER (PARTITION BY department_id) "Worst",
MAX(salary) KEEP (DENSE_RANK LAST ORDER BY commission_pct)
OVER (PARTITION BY department_id) "Best"
FROM employees
WHERE department_id in (20,80)
ORDER BY department_id, salary;
LAST_NAME DEPARTMENT_ID SALARY Worst Best
------------------------- ------------- ---------- ---------- ----------
Fay 20 6000 6000 13000
Hartstein 20 13000 6000 13000
Kumar 80 6100 6100 14000
Banda 80 6200 6100 14000
Johnson 80 6200 6100 14000
Ande 80 6400 6100 14000
Lee 80 6800 6100 14000
Tuvault 80 7000 6100 14000
Sewall 80 7000 6100 14000
Marvins 80 7200 6100 14000
Bates 80 7300 6100 14000
7.LAST_VALUE
鍔熻兘鎻忚堪錛氳繑鍥炵粍涓暟鎹獥鍙g殑鏈鍚庝竴涓箋?br />
SAMPLE錛氫笅闈緥瀛愯綆楁寜閮ㄩ棬鍒嗗尯鎸夎柂姘存帓搴忕殑鏁版嵁紿楀彛鐨勬渶鍚庝竴涓煎搴旂殑鍚嶅瓧錛屽鏋滆柂姘寸殑鏈鍚庝竴涓兼湁澶氫釜錛屽垯浠庡涓搴旂殑鍚嶅瓧涓彇緙虹渷鎺掑簭鐨勬渶鍚庝竴涓悕瀛?br />
SELECT department_id, last_name, salary, LAST_VALUE(last_name)
OVER(PARTITION BY department_id ORDER BY salary) AS highest_sal
FROM employees
WHERE department_id in(20,30);
DEPARTMENT_ID LAST_NAME SALARY HIGHEST_SAL
------------- ------------------------- ---------- ------------
20 Fay 6000 Fay
20 Hartstein 13000 Hartstein
30 Colmenares 2500 Colmenares
30 Himuro 2600 Himuro
30 Tobias 2800 Tobias
30 Baida 2900 Baida
30 Khoo 3100 Khoo
30 Raphaely 11000 Raphaely
8.LAG
鍔熻兘鎻忚堪錛氬彲浠ヨ闂粨鏋滈泦涓殑鍏跺畠琛岃屼笉鐢ㄨ繘琛岃嚜榪炴帴銆傚畠鍏佽鍘誨鐞嗘父鏍囷紝灝卞ソ鍍忔父鏍囨槸涓涓暟緇勪竴鏍楓傚湪緇欏畾緇勪腑鍙弬鑰冨綋鍓嶈涔嬪墠鐨勮錛岃繖鏍峰氨鍙互浠庣粍涓笌褰撳墠琛屼竴璧烽夋嫨浠ュ墠鐨勮銆侽ffset鏄竴涓鏁存暟錛屽叾榛樿鍊間負1錛岃嫢绱㈠紩瓚呭嚭紿楀彛鐨勮寖鍥達紝灝辮繑鍥為粯璁ゅ鹼紙榛樿榪斿洖鐨勬槸緇勪腑絎竴琛岋級錛屽叾鐩稿弽鐨勫嚱鏁版槸LEAD
SAMPLE錛氫笅闈㈢殑渚嬪瓙涓垪prev_sal榪斿洖鎸塰ire_date鎺掑簭鐨勫墠1琛岀殑salary鍊?
SELECT last_name, hire_date, salary,
LAG(salary, 1, 0) OVER (ORDER BY hire_date) AS prev_sal
FROM employees
WHERE job_id = 'PU_CLERK';
LAST_NAME HIRE_DATE SALARY PREV_SAL
------------------------- ---------- ---------- ----------
Khoo 18-5鏈?-95 3100 0
Tobias 24-7鏈?-97 2800 3100
Baida 24-12鏈?97 2900 2800
Himuro 15-11鏈?98 2600 2900
Colmenares 10-8鏈?-99 2500 2600
9.LEAD
鍔熻兘鎻忚堪錛歀EAD涓嶭AG鐩稿弽錛孡EAD鍙互璁塊棶緇勪腑褰撳墠琛屼箣鍚庣殑琛屻侽ffset鏄竴涓鏁存暟錛屽叾榛樿鍊間負1錛岃嫢绱㈠紩瓚呭嚭紿楀彛鐨勮寖鍥達紝灝辮繑鍥為粯璁ゅ鹼紙榛樿榪斿洖鐨勬槸緇勪腑絎竴琛岋級
SAMPLE錛氫笅闈㈢殑渚嬪瓙涓瘡琛岀殑"NextHired"榪斿洖鎸塰ire_date鎺掑簭鐨勪笅涓琛岀殑hire_date鍊?
SELECT last_name, hire_date,
LEAD(hire_date, 1) OVER (ORDER BY hire_date) AS "NextHired"
FROM employees WHERE department_id = 30;
LAST_NAME HIRE_DATE NextHired
------------------------- --------- ---------
Raphaely 07-DEC-94 18-MAY-95
Khoo 18-MAY-95 24-JUL-97
Tobias 24-JUL-97 24-DEC-97
Baida 24-DEC-97 15-NOV-98
Himuro 15-NOV-98 10-AUG-99
Colmenares 10-AUG-99
10.SUM
鍔熻兘鎻忚堪錛氳鍑芥暟璁$畻緇勪腑琛ㄨ揪寮忕殑绱Н鍜屻?br />
SAMPLE錛氫笅渚嬭綆楀悓涓緇忕悊涓嬪憳宸ョ殑钖按绱Н鍊?
SELECT manager_id, last_name, salary,
SUM (salary) OVER (PARTITION BY manager_id ORDER BY salary
RANGE UNBOUNDED PRECEDING) l_csum
FROM employees
WHERE manager_id in (101,103,108);
MANAGER_ID LAST_NAME SALARY L_CSUM
---------- ------------------------- ---------- ----------
101 Whalen 4400 4400
101 Mavris 6500 10900
101 Baer 10000 20900
101 Greenberg 12000 44900
101 Higgins 12000 44900
103 Lorentz 4200 4200
103 Austin 4800 13800
103 Pataballa 4800 13800
103 Ernst 6000 19800
108 Popp 6900 6900
108 Sciarra 7700 14600
108 Urman 7800 22400
108 Chen 8200 30600
108 Faviet 9000 39600
11.MAX
鍔熻兘鎻忚堪錛氬湪涓涓粍涓殑鏁版嵁紿楀彛涓煡鎵捐〃杈懼紡鐨勬渶澶у箋?br />
SAMPLE錛氫笅闈緥瀛愪腑dept_max榪斿洖褰撳墠琛屾墍鍦ㄩ儴闂ㄧ殑鏈澶ц柂姘村?
SELECT department_id, last_name, salary,
MAX(salary) OVER (PARTITION BY department_id) AS dept_max
FROM employees WHERE department_id in (10,20,30);
DEPARTMENT_ID LAST_NAME SALARY DEPT_MAX
------------- ------------------------- ---------- ----------
10 Whalen 4400 4400
20 Hartstein 13000 13000
20 Fay 6000 13000
30 Raphaely 11000 11000
30 Khoo 3100 11000
30 Baida 2900 11000
30 Tobias 2800 11000
30 Himuro 2600 11000
30 Colmenares 2500 11000
12.MIN
鍔熻兘鎻忚堪錛氬湪涓涓粍涓殑鏁版嵁紿楀彛涓煡鎵捐〃杈懼紡鐨勬渶灝忓箋?br />
SAMPLE錛氫笅闈緥瀛愪腑dept_min榪斿洖褰撳墠琛屾墍鍦ㄩ儴闂ㄧ殑鏈灝忚柂姘村?
SELECT department_id, last_name, salary,
MIN(salary) OVER (PARTITION BY department_id) AS dept_min
FROM employees WHERE department_id in (10,20,30);
DEPARTMENT_ID LAST_NAME SALARY DEPT_MIN
------------- ------------------------- ---------- ----------
10 Whalen 4400 4400
20 Hartstein 13000 6000
20 Fay 6000 6000
30 Raphaely 11000 2500
30 Khoo 3100 2500
30 Baida 2900 2500
30 Tobias 2800 2500
30 Himuro 2600 2500
30 Colmenares 2500 2500