2017-05-22 39 views
-1

たとえば、別の列(ItemID)のIDのインスタンスごとにインクリメントする列(LineCount)が必要です:列A =数値の行ごとにインクリメントし、A =別の数値で0にリセットして再びインクリメントする列

|ItemID|LineCount| 
------------------ 
| 1 | 1 
------------------ 
| 1 | 2 
------------------ 
| 1 | 3 
------------------ 
| 2 | 1 
    ------------------ 
| 2 | 2 
------------------ 
| 2 | 3 
------------------ 
| 2 | 4 
------------------ 
| 2 | 5 
    ------------------ 
| 3 | 1 
------------------ 
| 3 | 2 
    ------------------ 
| 3 | 3 
------------------ 
| 3 | 4 

SQLのようなものに見えることがあります。

"Insert into TableA increment LineCount Where ITEMID = @ITEMID" 
+0

使用しているデータベースエンジンとバージョンは何ですか? – Lamak

+0

私はMicrosoft SQLを使用しています – NC25

答えて

0

をあなたのコードでは、SQL Serverのように見えます。その場合は、ウィンドウ関数row_numberを使用して、分割されたシーケンス番号を生成することができます。

insert into tablea 
select itemId, 
    row_number() over (
     partition by itemId order by itemId 
     ) 
from your_table; 
関連する問題