[英]SQL Query to change rownum as text changes in Oracle
我遇到了一个查询,其中我需要更改rownum或任何正在运行的序列号。 一旦发现第二列文本发生变化,就回到原来的值。 我正在使用Oracle 11g。
对于Eg。 我的数据是
________
| EMP_CD |
|--------|
| D123 |
|--------|
| D123 |
|--------|
| D123 |
|--------|
| F743 |
|--------|
| F743 |
|________|
所以现在我期待的是
_______ ________
| SR NO | EMP_CD |
|-------|--------|
| 1 | D123 |
|-------|--------|
| 2 | D123 |
|-------|--------|
| 3 | D123 |
|-------|--------|
| 1 | F743 |
|-------|--------|
| 2 | F743 |
|_______|________|
select row_number() over (partition by emp_cd order by null) as sr_no, emp_cd
from your_table
order by emp_cd, sr_no;
ORDER BY是可选的。
您可以使用row_number()
分析函数:
SELECT ROW_NUMBER() OVER (PARTITION BY emp_cd ORDER BY 1) AS sr_no, emp_cd
FROM mytable
您可以使用row_number()
分析函数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.