ORACLE&MYSQL同樣的記錄值進行編號處理
ORACLE&MYSQL 同樣資料進行編號處理
oralce10g&mysql5.5
[@more@]ORACLE:
SQL> select deptno,
2 empno,ename,
3 row_number() over(partition by deptno order by deptno) com_num
4 from emp
5 ;
DEPTNO EMPNO ENAME COM_NUM
---------- ---------- ---------- ----------
10 7782 CLARK 1
10 7934 MILLER 2
10 7839 KING 3
20 7566 JONES 1
20 7902 FORD 2
20 7369 SMITH 3
20 7788 SCOTT 4
30 7499 ALLEN 1
30 7844 TURNER 2
30 7900 JAMES 3
30 7521 WARD 4
DEPTNO EMPNO ENAME COM_NUM
---------- ---------- ---------- ----------
30 7698 BLAKE 5
30 7654 MARTIN 6
已選擇13行。
SQL>
MYSQL:
mysql> select heyf_tmp.deptno,-> heyf_tmp.empno,
-> heyf_tmp.ename,
-> @rownum := @rownum + 1,
-> if(@deptno = heyf_tmp.deptno, @groupcounts := @groupcounts + 1, @groupcounts := 1) as rank,
-> @deptno := heyf_tmp.deptno
-> from (select deptno, empno, ename from EMP order by deptno, empno) heyf_tmp,
-> (select @rownum := 0, @deptno := null, @groupcounts := 0) a;
+--------+-------+--------+------------------------+------+----------------------------+
| deptno | empno | ename | @rownum := @rownum + 1 | rank | @deptno := heyf_tmp.deptno |
+--------+-------+--------+------------------------+------+----------------------------+
| 10 | 7782 | CLARK | 1 | 1 | 10 |
| 10 | 7839 | KING | 2 | 2 | 10 |
| 10 | 7934 | MILLER | 3 | 3 | 10 |
| 20 | 7369 | SMITH | 4 | 1 | 20 |
| 20 | 7566 | JONES | 5 | 2 | 20 |
| 20 | 7788 | SCOTT | 6 | 3 | 20 |
| 20 | 7902 | FORD | 7 | 4 | 20 |
| 30 | 7499 | ALLEN | 8 | 1 | 30 |
| 30 | 7521 | WARD | 9 | 2 | 30 |
| 30 | 7654 | MARTIN | 10 | 3 | 30 |
| 30 | 7698 | BLAKE | 11 | 4 | 30 |
| 30 | 7844 | TURNER | 12 | 5 | 30 |
| 30 | 7900 | JAMES | 13 | 6 | 30 |
+--------+-------+--------+------------------------+------+----------------------------+
13 rows in set (0.00 sec)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10130206/viewspace-1049759/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 同花色同值牌處理
- 【問題處理】同樣的並行表,同樣的索引結構,不同的執行計劃並行索引
- MySQL:簡單記錄訊號處理MySql
- MySQL 處理行號MySql
- 使用matlab對影像進行二值化處理Matlab
- logstash處理檔案進度記錄機制
- 使用 scipy.fft 進行Fourier Transform:Python 訊號處理FFTORMPython
- 現代中央處理器(CPU)是怎樣進行分支預測的?
- 給numpy陣列賦同樣的值陣列
- Oracle 基於其他表中的資料更新記錄時空值的處理方法Oracle
- 如何在顯示一個友好頁面的同時又進行其他處理?
- 遇上DG挖礦病毒的處理記錄
- 記錄Laravel異常處理類Laravel
- php redis 處理websocket聊天記錄PHPRedisWeb
- 【問題處理】使用trim和 replace處理字串中的換行符號字串符號
- Jenkins:通過批處理命令增加版本檔案,記錄釋出的版本號Jenkins
- 快速將多個視訊的播放速度進行降速,批量同時處理視訊
- 同樣的工作、同樣的做需求,為什麼他們能進阿里阿里
- TensorFlow進行簡單的影像處理
- 引號的處理方式
- EBS 迴圈處理塊記錄的程式碼
- Linux 10字串命令病毒的處理記錄Linux字串
- 使用 canvas 對影象進行處理Canvas
- 使用 getopt() 進行命令列處理命令列
- 異常處理 - Go 學習記錄Go
- ORA-03137處理記錄
- 科學音訊處理(二):如何使用 Octave 對音訊檔案進行基本數學訊號處理音訊
- 收料後無產生收料編號的手工處理
- 摘錄nginx 訊號處理方法部分程式碼Nginx
- 前端工作流編譯正確操作流程和錯誤處理記錄前端編譯
- 快手多賬號運營工具,多個賬號同時進行運營
- 批處理中的符號符號
- java進位制、編碼轉換記錄Java
- .NET使用MailKit進行郵件處理AI
- WebSphere Business Events 進行業務事件處理Web行業事件
- gitLab進行CI配置記錄Gitlab
- 影像處理或其他多媒體處理中的值溢位處理
- Oracle RAC 錯誤記錄以及處理方法Oracle