2018-11-01 17:07:20 +00:00
|
|
|
USE test;
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS t;
|
|
|
|
DROP TABLE IF EXISTS t_mv;
|
|
|
|
DROP TABLE IF EXISTS u;
|
|
|
|
DROP TABLE IF EXISTS v;
|
|
|
|
|
|
|
|
CREATE TABLE t
|
|
|
|
(
|
|
|
|
date Date,
|
|
|
|
platform Enum8('a' = 0, 'b' = 1),
|
|
|
|
app Enum8('a' = 0, 'b' = 1)
|
|
|
|
) ENGINE = Memory;
|
|
|
|
|
|
|
|
CREATE TABLE u (app Enum8('a' = 0, 'b' = 1)) ENGINE = Memory;
|
|
|
|
CREATE TABLE v (platform Enum8('a' = 0, 'b' = 1)) ENGINE = Memory;
|
|
|
|
|
|
|
|
INSERT INTO u VALUES ('b');
|
|
|
|
INSERT INTO v VALUES ('b');
|
|
|
|
|
|
|
|
CREATE MATERIALIZED VIEW t_mv ENGINE = MergeTree ORDER BY date
|
|
|
|
AS SELECT date, platform, app FROM t
|
2018-12-06 18:51:49 +00:00
|
|
|
WHERE app = (SELECT min(app) from u) AND platform = (SELECT (SELECT min(platform) from v));
|
2018-11-01 17:07:20 +00:00
|
|
|
|
|
|
|
SHOW CREATE TABLE test.t_mv FORMAT TabSeparatedRaw;
|
|
|
|
|
2018-12-06 18:51:49 +00:00
|
|
|
USE default;
|
|
|
|
DETACH TABLE test.t_mv;
|
|
|
|
ATTACH TABLE test.t_mv;
|
2018-11-01 17:07:20 +00:00
|
|
|
|
2018-12-06 18:51:49 +00:00
|
|
|
INSERT INTO test.t VALUES ('2000-01-01', 'a', 'a') ('2000-01-02', 'b', 'b');
|
2018-11-01 17:07:20 +00:00
|
|
|
|
2018-12-06 18:51:49 +00:00
|
|
|
INSERT INTO test.u VALUES ('a');
|
|
|
|
INSERT INTO test.v VALUES ('a');
|
2018-11-01 17:07:20 +00:00
|
|
|
|
2018-12-06 18:51:49 +00:00
|
|
|
INSERT INTO test.t VALUES ('2000-01-03', 'a', 'a') ('2000-01-04', 'b', 'b');
|
2018-11-01 17:07:20 +00:00
|
|
|
|
2018-12-06 18:51:49 +00:00
|
|
|
SELECT * FROM test.t ORDER BY date;
|
|
|
|
SELECT * FROM test.t_mv ORDER BY date;
|
|
|
|
|
|
|
|
DROP TABLE test.t;
|
|
|
|
DROP TABLE test.t_mv;
|
|
|
|
DROP TABLE test.u;
|
|
|
|
DROP TABLE test.v;
|