アプリ版:「スタンプのみでお礼する」機能のリリースについて

DB2で以下のテーブルAを基に、
業種毎に連番をつけるようなビューを作りたいのですが
どのようにSQL文を作ればいいのでしょうか?
基本的な質問かもしれないのですがよろしくお願いします。
テーブルA
ID JOB
-----------------
10 clerk
20 clerk
30 clerk
40 manager
50 manager
60 assistant
70 assistant
80 assistant

作りたいビューの実行結果
ID JOB NUM
-----------------
10 clerk 01
20 clerk 02
30 clerk 03
40 manager 01
50 manager 02
60 assistant 01
70 assistant 02
80 assistant 03

なんとなくですが、
最初に
selelct job,count(*)
from テーブルA
group by job
でjob毎の行数をもとめなきゃいけないような気も
するんですが・・・。

A 回答 (1件)

DB2なら、



select ID,JOB,row_number() over(partition by JOB order by ID) NUM from A

で出来ると思いますし、その他のRDBでもIDがユニークである前提で

select x.ID,x.JOB,count(*) as NUM
from A as x,A as B
where x.JOB=b.JOB and x.ID>=y.ID
group by x.ID,x.JOB

で可能じゃないかと思いますよ。(未検証ですが)
    • good
    • 0
この回答へのお礼

ありがとうございました。
こんなやり方があるんですね。
試してみます。

お礼日時:2006/06/14 00:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す