2013-12-23 31 views
1

如果在表格中插入相同的數字,我需要生成兩位數字的重複號碼。如何生成重複的號碼,如果表中有相同的數字sql

我需要看起來像這樣的結果......謝謝。

ID duplicate_id 
1423  01 
1423  02 
1423  03 
1423  04 
5246  01 
5246  02 
5246  03 
8967  01 

誰能幫我...

+0

的可能重複[MySQL的 - 獲取每個重複值的計數器(http://stackoverflow.com/questions/12463628/mysql-get- a-counter-for-each-duplicate-value) – Mihai

+0

你使用了哪個數據庫? –

+0

SQL Server 2008 .... – Happy

回答

0

嘗試(SQL Server

SELECT id, RIGHT('0'+ CAST((ROW_NUMBER() OVER (Partition By ID Order By ID)) as varchar(2)), 2) as  duplicate_id 
FROM tbl 
+0

我得到的答案像--01 04對於相同數字(如計數器) – Happy

+0

是不是要求(基於不同的ID)? – Milen

+0

謝謝...得到它 – Happy

2

MySQL版本

select id,duplicate_id 
    from (
      select id,     
       @row:=if(@prev=id,@row,0) + 1 as duplicate_id, 
       @prev:=id 
      from tbl 
     order by id 
)t 

Credit

SQL Fiddle

SQL Server版本

;WITH Data AS 
( 
    SELECT 
     ID, 
     duplicate_id= ROW_NUMBER() OVER (PARTITION BY ID ORDER BY ID DESC) 
    FROM tbl 
) 
SELECT * 
FROM Data 

SQL Fiddle

+0

顯示這樣的錯誤 - 必須聲明標量變量「@row」。 – Happy

相關問題