いくつかの値を除外する最初の行を取得するにはどうすればよいですか? row_number() over(partition by Name ORDER BY Date) を使用して注文を取得しました (以下の例を参照)。しかし、私は必要です、ランクは Type = B の最後の発生から始まります (期待される出力を参照してください)
SELECT Name, Age, Type, Date,
row_number() over(partition by Name ORDER BY Date) as Rank
FROM TableA;
例えば :
Name Age Type Date Rank
Ben 12 A 2013/02/01 1
Rod 14 A 2013/02/05 2
Zed 13 B 2013/03/09 3
Ken 12 A 2013/04/02 4
Jed 14 B 2013/05/01 5
Mar 13 A 2013/05/04 6
Nic 12 A 2013/06/02 7
Jen 15 A 2013/06/09 8
期待される出力:
Name Age Type Date Rank
Mar 13 A 2013/05/04 1
Nic 12 A 2013/06/02 2
Jen 15 A 2013/06/09 3