假设我有一个SELECT ...
返回某物的查询。像这样:
role name
-------- -------
MANAGER Alice
WORKER Bob
WORKER Evan
WORKER John
MANAGER Max
WORKER Steve
是否可以添加另一列来枚举每个组内的行(即枚举经理、工人和任何其他角色的人员,而不考虑其他角色)?像这样:
role name no.
-------- ------- ----
MANAGER Alice 1
WORKER Bob 1 // second row, but the first worker
WORKER Evan 2
WORKER John 3
MANAGER Max 2 // fifth row, but only the second manager
WORKER Steve 4
使用 Oracle 扩展是没问题的。
使用窗口函数:
select role, name,
row_number() over (partition by role order by name) as rn
from the_table
order by name;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)