1
id タイトル番号
1 チキン 1
2 肉 1
3 魚 1
4 魚 2
5 肉 2
6 魚 3
7 チキン 2
8 チキン 3

上記のように次の出力を作成したいと思います。誰でも列値の出現回数を計算するのを手伝ってくれますが、GROUP BY (同じ値を削除しないでください) なしで、上記と同じ「数値」フィールドを作成してください。

通常、使用する場合COUNT(*) :

SELECT COUNT(*) FROM table GROUP BY title

しかし、同じ値を削除します:

id タイトル番号
1 チキン 3
2 肉 2
3 魚 3

私は同じ値を保持し、次のように出力したい:

id タイトル番号
1 チキン 1    
2 肉 1
3 魚 1
4 魚 2
5 肉 2
6 魚 3    
7 チキン 2     
8 チキン 3     
4

1 に答える 1

4

あなたの質問はnumbers、サンプル出力で列を生成する方法だと思います。それが正しくない場合は、質問を明確にしてください。

select  id
,       title
,       (
        select  count(*)
        from    Table1 t2
        where   t1.title = t2.title
                and t2.id <= t1.id
        ) as numbers
from    Table1 t1

SQL Fiddle での実例。

于 2013-01-16T12:05:15.050 に答える