CREATE TABLE Ticker (SYMBOL VARCHAR2(10), tstamp DATE, price NUMBER)
Table created.
INSERT INTO Ticker VALUES('ACME', '01-Apr-11', 12)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '02-Apr-11', 17)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '03-Apr-11', 19)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '04-Apr-11', 21)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '05-Apr-11', 25)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '06-Apr-11', 12)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '07-Apr-11', 15)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '08-Apr-11', 20)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '09-Apr-11', 24)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '10-Apr-11', 25)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '11-Apr-11', 19)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '12-Apr-11', 15)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '13-Apr-11', 25)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '14-Apr-11', 25)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '15-Apr-11', 14)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '16-Apr-11', 12)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '17-Apr-11', 14)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '18-Apr-11', 24)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '19-Apr-11', 23)
1 row(s) inserted.
INSERT INTO Ticker VALUES('ACME', '20-Apr-11', 22)
1 row(s) inserted.
SELECT *
FROM Ticker MATCH_RECOGNIZE (
PARTITION BY Symbol
ORDER BY tstamp
MEASURES
CLASSIFIER() AS Classfr,
MATCH_NUMBER() AS Matchno,
FINAL LAST(b.tstamp) AS last_b
ALL ROWS PER MATCH
AFTER MATCH SKIP TO LAST B
PATTERN ( STRT A B+ )
DEFINE
A AS A.Price >= 1
,B AS B.Price > PREV(B.Price)
) M
ORDER BY symbol, tstamp
SYMBOL | TSTAMP | CLASSFR | MATCHNO | LAST_B | PRICE | ACME | 01-APR-11 | STRT | 1 | 05-APR-11 | 12 | ACME | 02-APR-11 | A | 1 | 05-APR-11 | 17 | ACME | 03-APR-11 | B | 1 | 05-APR-11 | 19 | ACME | 04-APR-11 | B | 1 | 05-APR-11 | 21 | ACME | 05-APR-11 | B | 1 | 05-APR-11 | 25 | ACME | 05-APR-11 | STRT | 2 | 10-APR-11 | 25 | ACME | 06-APR-11 | A | 2 | 10-APR-11 | 12 | ACME | 07-APR-11 | B | 2 | 10-APR-11 | 15 | ACME | 08-APR-11 | B | 2 | 10-APR-11 | 20 | ACME | 09-APR-11 | B | 2 | 10-APR-11 | 24 | ACME | 10-APR-11 | B | 2 | 10-APR-11 | 25 | ACME | 11-APR-11 | STRT | 3 | 13-APR-11 | 19 | ACME | 12-APR-11 | A | 3 | 13-APR-11 | 15 | ACME | 13-APR-11 | B | 3 | 13-APR-11 | 25 | ACME | 15-APR-11 | STRT | 4 | 18-APR-11 | 14 | ACME | 16-APR-11 | A | 4 | 18-APR-11 | 12 | ACME | 17-APR-11 | B | 4 | 18-APR-11 | 14 | ACME | 18-APR-11 | B | 4 | 18-APR-11 | 24 |
---|