1

このテーブルに列を追加しようとしています:

CREATE TABLE #NEW_HIGH (SYMBOL char(4) not null, CLOSE_DATE date not null, CLOSE_PRICE money)
INSERT INTO #NEW_HIGH VALUES ('A','01/07/2019',31.46)
INSERT INTO #NEW_HIGH VALUES ('A','01/08/2019',32.5)
INSERT INTO #NEW_HIGH VALUES ('A','01/09/2019',34.94)
INSERT INTO #NEW_HIGH VALUES ('A','01/10/2019',34.95)
INSERT INTO #NEW_HIGH VALUES ('A','01/11/2019',34.57)
INSERT INTO #NEW_HIGH VALUES ('B','01/07/2019',12.21)
INSERT INTO #NEW_HIGH VALUES ('B','01/08/2019',11.88)
INSERT INTO #NEW_HIGH VALUES ('B','01/09/2019',12.25)
INSERT INTO #NEW_HIGH VALUES ('B','01/10/2019',12.30)
INSERT INTO #NEW_HIGH VALUES ('B','01/11/2019',11.26)
INSERT INTO #NEW_HIGH VALUES ('C','01/07/2019',22.99)
INSERT INTO #NEW_HIGH VALUES ('C','01/08/2019',22.95)
INSERT INTO #NEW_HIGH VALUES ('C','01/09/2019',22.14)
INSERT INTO #NEW_HIGH VALUES ('C','01/10/2019',23.09)
INSERT INTO #NEW_HIGH VALUES ('C','01/11/2019',22.91)

...出力は次のようになります。

SYMBOL  CLOSE_DATE  CLOSE_PRICE RANK_BY_NEW_HI
A       1/7/2019    31.46       1
A       1/8/2019    32.5        2
A       1/9/2019    34.94       3
A       1/10/2019   34.95       4
A       1/11/2019   34.57       1
B       1/7/2019    12.21       1
B       1/8/2019    11.88       1
B       1/9/2019    12.25       2
B       1/10/2019   12.3        3
B       1/11/2019   11.26       1
C       1/7/2019    22.99       1
C       1/8/2019    22.95       1
C       1/9/2019    22.14       1
C       1/10/2019   23.09       2
C       1/11/2019   22.91       1

基本的に、「RANK_BY_NEW_HI」という 4 番目の列を追加しようとしています。これは、行 1 の値 1 から始まり、次の CLOSE_PRICE レコード (SYMBOL および DATE 順) が高くなるたびに 1 ずつ増加し、等しいときは常に 1 にリセットされます。以前の CLOSE_PRICE レコードよりも低いか、新しい SYMBOL が始まります。

私はこれを理解しようと数日を費やしたので、どんな助けも大歓迎です!

4

1 に答える 1