Last active
April 8, 2016 20:51
-
-
Save sowe/b61d045d893d98ec0f98e24be6c01b14 to your computer and use it in GitHub Desktop.
Database creation and Samples Querys about Vertica Workshop
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
\set ON_ERROR_STOP on | |
--MEDIAN: | |
select * from allsales order by sales; | |
SELECT state, name, sales, MEDIAN(sales) OVER () AS | |
median FROM allsales order by state; | |
SELECT name, sales, MEDIAN(sales) OVER (partition by state) AS | |
median FROM allsales order by state; | |
--RANK: | |
SELECT state, sales, name, RANK()OVER (PARTITION BY state | |
ORDER BY sales) AS RANK | |
FROM allsales; | |
select * from emp; | |
SELECT deptno, sal, empno, COUNT(sal) OVER (PARTITION BY deptno ORDER BY sal | |
ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) | |
AS count FROM emp; | |
SELECT deptno, sal, empno, COUNT(sal) | |
OVER (PARTITION BY deptno) AS COUNT FROM emp; | |
SELECT deptno, sal, empno,LAST_VALUE(empno) OVER (PARTITION BY deptno ORDER BY sal) AS lv FROM emp; | |
SELECT deptno, sal, empno, LAST_VALUE(empno) | |
OVER (PARTITION BY deptno ORDER BY sal | |
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS lv | |
FROM emp; | |
--CONDITIONAL EVENT: | |
SELECT * from Tickstore3; | |
SELECT *, CONDITIONAL_CHANGE_EVENT(bid) OVER(ORDER BY ts) cce FROM Tickstore3; | |
SELECT *, CONDITIONAL_TRUE_EVENT(bid < LAG(bid)) | |
OVER(ORDER BY ts) | |
FROM Tickstore3; | |
select * from tickstore; | |
SELECT slice_time, TS_FIRST_VALUE(bid, 'LINEAR') bid FROM Tickstore | |
TIMESERIES slice_time AS '1 seconds' OVER(PARTITION BY symbol ORDER BY ts); | |
SELECT slice_time, TS_FIRST_VALUE(bid, 'const') bid FROM Tickstore | |
TIMESERIES slice_time AS '1 seconds' OVER(PARTITION BY symbol ORDER BY ts); | |
SELECT slice_time, symbol, TS_FIRST_VALUE(bid) AS first_bid FROM TickStore | |
TIMESERIES slice_time AS '3 seconds' OVER (PARTITION BY symbol ORDER BY ts); | |
SELECT slice_time, symbol, TS_FIRST_VALUE(bid) AS first_bid FROM TickStore | |
TIMESERIES slice_time AS '2 seconds' OVER (PARTITION BY symbol ORDER BY ts); | |
SELECT slice_time, symbol, TS_LAST_VALUE(bid) AS last_bid FROM TickStore | |
TIMESERIES slice_time AS '2 seconds' OVER (PARTITION BY symbol ORDER BY ts); | |
SELECT slice_time, symbol, TS_LAST_VALUE(bid, 'CONST') AS last_bid FROM TickStore | |
TIMESERIES slice_time AS '2 seconds' OVER (PARTITION BY symbol ORDER BY ts); | |
SELECT slice_time, symbol, | |
TS_FIRST_VALUE(bid, 'const') fv_c, | |
TS_FIRST_VALUE(bid, 'linear') fv_l, | |
TS_LAST_VALUE(bid, 'const') lv_c | |
FROM TickStore | |
TIMESERIES slice_time AS '3 seconds' OVER(PARTITION BY symbol ORDER BY ts); | |
SELECT * FROM hTicks h FULL OUTER JOIN aTicks a ON (h.time = a.time); | |
SELECT * FROM hTicks h FULL OUTER JOIN aTicks a | |
ON (h.time INTERPOLATE PREVIOUS VALUE a.time); | |
SELECT * FROM hTicks h LEFT OUTER JOIN aTicks a ON h.time = a.time; | |
SELECT * FROM hTicks h LEFT OUTER JOIN aTicks a | |
ON (h.time INTERPOLATE PREVIOUS VALUE a.time); | |
select * from bid; | |
select * from ask; | |
SELECT * FROM bid b FULL OUTER JOIN ask a | |
ON (b.stock = a.stock AND b.time INTERPOLATE PREVIOUS VALUE a.time); | |
-- PATTERN MATCHING | |
SELECT * FROM clickstream_log; | |
SELECT uid, | |
sid, | |
ts, | |
refurl, | |
pageurl, | |
action, | |
event_name(), | |
pattern_id(), | |
match_id() | |
FROM clickstream_log | |
MATCH | |
(PARTITION BY uid, sid ORDER BY ts | |
DEFINE | |
Entry AS RefURL NOT ILIKE '%website2.com%' AND PageURL ILIKE '%website2.com%', | |
Onsite AS PageURL ILIKE '%website2.com%' AND Action='V', | |
Purchase AS PageURL ILIKE '%website2.com%' AND Action = 'P' | |
PATTERN | |
P AS (Entry Onsite* Purchase) | |
ROWS MATCH FIRST EVENT); | |
INSERT INTO clickstream_log values (3,100,'12:10','website1.com','website2.com/home', 'V'); | |
INSERT INTO clickstream_log values (3,100,'12:11','website2.com/home','website2.com/forks', 'V'); | |
INSERT INTO clickstream_log values (3,100,'12:13','website2.com/forks','website2.com/floby', 'V'); | |
INSERT INTO clickstream_log values (2,100,'12:13','website2.com/forks','website2.com/buy', 'P'); | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE TABLE TickStore (ts TIMESTAMP, symbol VARCHAR(8), bid FLOAT); | |
INSERT INTO TickStore VALUES ('2009-01-01 03:00:00', 'XYZ', 10.0); | |
INSERT INTO TickStore VALUES ('2009-01-01 03:00:05', 'XYZ', 10.5); | |
COMMIT; | |
CREATE TABLE hTicks ( | |
stock VARCHAR(20), | |
time TIME, | |
price NUMERIC(8,2) | |
); | |
CREATE TABLE aTicks ( | |
stock VARCHAR(20), | |
time TIME, | |
price NUMERIC(8,2) | |
); | |
INSERT INTO hTicks VALUES ('HPQ', '12:00', 50.00); | |
INSERT INTO hTicks VALUES ('HPQ', '12:01', 51.00); | |
INSERT INTO hTicks VALUES ('HPQ', '12:05', 51.00); | |
INSERT INTO hTicks VALUES ('HPQ', '12:06', 52.00); | |
INSERT INTO aTicks VALUES ('ACME', '12:00', 340.00); | |
INSERT INTO aTicks VALUES ('ACME', '12:03', 340.10); | |
INSERT INTO aTicks VALUES ('ACME', '12:05', 340.20); | |
INSERT INTO aTicks VALUES ('ACME', '12:05', 333.80); | |
COMMIT; | |
CREATE TABLE bid(stock VARCHAR(20), time TIME, price NUMERIC(8,2)); | |
CREATE TABLE ask(stock VARCHAR(20), time TIME, price NUMERIC(8,2)); | |
INSERT INTO bid VALUES ('HPQ', '12:00', 100.10); | |
INSERT INTO bid VALUES ('HPQ', '12:01', 100.00); | |
INSERT INTO bid VALUES ('ACME', '12:00', 80.00); | |
INSERT INTO bid VALUES ('ACME', '12:03', 79.80); | |
INSERT INTO bid VALUES ('ACME', '12:05', 79.90); | |
INSERT INTO ask VALUES ('HPQ', '12:01', 101.00); | |
INSERT INTO ask VALUES ('ACME', '12:00', 80.00); | |
INSERT INTO ask VALUES ('ACME', '12:02', 75.00); | |
COMMIT; | |
CREATE TABLE clickstream_log ( | |
uid INT, --user ID | |
sid INT, --browsing session ID, produced by previous sessionization computation | |
ts TIME, --timestamp that occurred during the user's page visit | |
refURL VARCHAR(20), --URL of the page referencing PageURL | |
pageURL VARCHAR(20), --URL of the page being visited | |
action CHAR(1) --action the user took after visiting the page ('P' = Purchase, 'V' = View) | |
); | |
INSERT INTO clickstream_log VALUES (1,100,'12:00','website1.com','website2.com/home', 'V'); | |
INSERT INTO clickstream_log VALUES (1,100,'12:01','website2.com/home','website2.com/floby', 'V'); | |
INSERT INTO clickstream_log VALUES (1,100,'12:02','website2.com/floby','website2.com/shamwow', 'V'); | |
INSERT INTO clickstream_log values (1,100,'12:03','website2.com/shamwow','website2.com/buy', 'P'); | |
INSERT INTO clickstream_log values (2,100,'12:10','website1.com','website2.com/home', 'V'); | |
INSERT INTO clickstream_log values (2,100,'12:11','website2.com/home','website2.com/forks', 'V'); | |
INSERT INTO clickstream_log values (2,100,'12:13','website2.com/forks','website2.com/buy', 'P'); | |
COMMIT; | |
CREATE TABLE allsales(state VARCHAR(20), name VARCHAR(20), sales INT); | |
INSERT INTO allsales VALUES('MA', 'A', 60); | |
INSERT INTO allsales VALUES('NY', 'B', 20); | |
INSERT INTO allsales VALUES('NY', 'C', 15); | |
INSERT INTO allsales VALUES('MA', 'D', 20); | |
INSERT INTO allsales VALUES('MA', 'E', 50); | |
INSERT INTO allsales VALUES('NY', 'F', 40); | |
INSERT INTO allsales VALUES('MA', 'G', 10); | |
COMMIT; | |
CREATE TABLE employees(emp_no INT, dept_no INT); | |
INSERT INTO employees VALUES(1, 10); | |
INSERT INTO employees VALUES(2, 30); | |
INSERT INTO employees VALUES(3, 30); | |
INSERT INTO employees VALUES(4, 10); | |
INSERT INTO employees VALUES(5, 30); | |
INSERT INTO employees VALUES(6, 20); | |
INSERT INTO employees VALUES(7, 20); | |
INSERT INTO employees VALUES(8, 20); | |
INSERT INTO employees VALUES(9, 20); | |
INSERT INTO employees VALUES(10, 20); | |
INSERT INTO employees VALUES(11, 20); | |
COMMIT; | |
CREATE TABLE emp(deptno INT, sal INT, empno INT); | |
INSERT INTO emp VALUES(10,101,1); | |
INSERT INTO emp VALUES(10,104,4); | |
INSERT INTO emp VALUES(20,100,11); | |
INSERT INTO emp VALUES(20,109,7); | |
INSERT INTO emp VALUES(20,109,6); | |
INSERT INTO emp VALUES(20,109,8); | |
INSERT INTO emp VALUES(20,110,10); | |
INSERT INTO emp VALUES(20,110,9); | |
INSERT INTO emp VALUES(30,102,2); | |
INSERT INTO emp VALUES(30,103,3); | |
INSERT INTO emp VALUES(30,105,5); | |
COMMIT; | |
CREATE TABLE Ticks (ts TIMESTAMP, Stock varchar(10), Bid float); | |
INSERT INTO Ticks VALUES('2011-07-12 10:23:54', 'abc', 10.12); | |
INSERT INTO Ticks VALUES('2011-07-12 10:23:58', 'abc', 10.34); | |
INSERT INTO Ticks VALUES('2011-07-12 10:23:59', 'abc', 10.75); | |
INSERT INTO Ticks VALUES('2011-07-12 10:25:15', 'abc', 11.98); | |
INSERT INTO Ticks VALUES('2011-07-12 10:25:16', 'abc'); | |
INSERT INTO Ticks VALUES('2011-07-12 10:25:22', 'xyz', 45.16); | |
INSERT INTO Ticks VALUES('2011-07-12 10:25:27', 'xyz', 49.33); | |
INSERT INTO Ticks VALUES('2011-07-12 10:31:12', 'xyz', 65.25); | |
INSERT INTO Ticks VALUES('2011-07-12 10:31:15', 'xyz'); | |
COMMIT; | |
CREATE TABLE bookorders( | |
vendorid VARCHAR(100), | |
date TIMESTAMP, | |
sequenceno INT, | |
askprice FLOAT, | |
asksize INT, | |
bidprice FLOAT, | |
bidsize INT); | |
INSERT INTO bookorders VALUES('3325XPK','2011-07-12 10:23:54', 1, 10.12, 55, 10.23, 59); | |
INSERT INTO bookorders VALUES('3345XPZ','2011-07-12 10:23:55', 2, 10.55, 58, 10.75, 57); | |
INSERT INTO bookorders VALUES('445XPKF','2011-07-12 10:23:56', 3, 10.22, 43, 54); | |
INSERT INTO bookorders VALUES('445XPKF','2011-07-12 10:23:57', 3, 10.22, 59, 10.25, 61); | |
INSERT INTO bookorders VALUES('3425XPY','2011-07-12 10:23:58', 4, 11.87, 66, 11.90, 66); | |
INSERT INTO bookorders VALUES('3727XVK','2011-07-12 10:23:59', 5, 11.66, 51, 11.67, 62); | |
INSERT INTO bookorders VALUES('5325XYZ','2011-07-12 10:24:01', 6, 15.05, 44, 15.10, 59); | |
INSERT INTO bookorders VALUES('3675XVS','2011-07-12 10:24:05', 7, 15.43, 47, 58); | |
INSERT INTO bookorders VALUES('8972VUG','2011-07-12 10:25:15', 8, 14.95, 52, 15.11, 57); | |
COMMIT; | |
CREATE TABLE TickStore3 ( | |
ts TIMESTAMP, | |
symbol VARCHAR(8), | |
bid FLOAT | |
); | |
CREATE PROJECTION TickStore3_p (ts, symbol, bid) AS | |
SELECT * FROM TickStore3 | |
ORDER BY ts, symbol, bid UNSEGMENTED ALL NODES; | |
INSERT INTO TickStore3 VALUES ('2009-01-01 03:00:00', 'XYZ', 10.0); | |
INSERT INTO TickStore3 VALUES ('2009-01-01 03:00:03', 'XYZ', 11.0); | |
INSERT INTO TickStore3 VALUES ('2009-01-01 03:00:06', 'XYZ', 10.5); | |
INSERT INTO TickStore3 VALUES ('2009-01-01 03:00:09', 'XYZ', 11.0); | |
COMMIT; | |
CREATE TABLE WebClicks(userId INT, timestamp TIMESTAMP); | |
INSERT INTO WebClicks VALUES (1, '2009-12-08 3:00:00 pm'); | |
INSERT INTO WebClicks VALUES (1, '2009-12-08 3:00:25 pm'); | |
INSERT INTO WebClicks VALUES (1, '2009-12-08 3:00:45 pm'); | |
INSERT INTO WebClicks VALUES (1, '2009-12-08 3:01:45 pm'); | |
INSERT INTO WebClicks VALUES (2, '2009-12-08 3:02:45 pm'); | |
INSERT INTO WebClicks VALUES (2, '2009-12-08 3:02:55 pm'); | |
INSERT INTO WebClicks VALUES (2, '2009-12-08 3:03:55 pm'); | |
COMMIT; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment