sql如何对具有相似值的行进行编号

时间:2015-07-24 03:51:30

标签: sql

我有一个这样的表,用户和他所从事的项目。

User    project
Joe S   P1
Joe S   P1
Joe S   P2
Joe S   P3
Joe S   P3
Joe S   P3

我需要通过计算类似的项目并为它们编号来添加另一列

job_number  User    project
1           Joe S   P1
2           Joe S   P1
1           Joe S   P2
1           Joe S   P3
2           Joe S   P3
3           Joe S   P3

1 个答案:

答案 0 :(得分:3)

这应该做的工作。

for Oracle

insert into table_name (job_number,user,project) values(nvl(select count(*)+1 from table_name where user='Joe S' and project='p1'),1),'Joe S','p1');

<强>的MySQL

insert into table_name (job_number,user,project) values(ifnull(select count(*)+1 from table_name where user='Joe S' and project='p1'),1),'Joe S','p1');