5

私の質問は、このリンクに投稿されたものと非常によく似ています-一時テーブルなしでSQLクエリでグループにシーケンス番号を追加する方法

しかし、グループの出現を列挙する必要があります。最終的な出力は次のようになります。

Record  Group     GroupSequence
-------|---------|--------------
1       Chickens  1
2       Chickens  2
3       Cows      1
4       Horses    1
5       Horses    2
6       Horses    3

さらに、これは Oracle SQL で行う必要があります。何か案は?

4

1 に答える 1

13

多分このようなもの:

SELECT
    ROW_NUMBER() OVER(PARTITION BY [Group] ORDER BY Record) AS GroupSequence1,
    RANK() OVER(PARTITION BY [Group] ORDER BY Record) AS GroupSequence2,
    DENSE_RANK() OVER(PARTITION BY [Group] ORDER BY Record) AS GroupSequence3,
    Table1.Group,
    Table1.Record
FROM
    Table1

GroupSequence1GroupSequence2そしてGroupSequence3あなたが望む出力を得るでしょう。

于 2012-04-20T10:42:11.537 に答える