1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| mysql> create database demo; Query OK, 0 rows affected (0.03 sec)
mysql> use demo; Database changed mysql> mysql> CREATE TABLE IF NOT EXISTS demo.example_tbl -> ( -> `user_id` LARGEINT NOT NULL COMMENT "用户id", -> `date` DATE NOT NULL COMMENT "数据灌入日期时间", -> `city` VARCHAR(20) COMMENT "用户所在城市", -> `age` SMALLINT COMMENT "用户年龄", -> `sex` TINYINT COMMENT "用户性别", -> `last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间", -> `cost` BIGINT SUM DEFAULT "0" COMMENT "用户总消费", -> `max_dwell_time` INT MAX DEFAULT "0" COMMENT "用户最大停留时间", -> `min_dwell_time` INT MIN DEFAULT "99999" COMMENT "用户最小停留时间" -> ) -> AGGREGATE KEY(`user_id`, `date`, `city`, `age`, `sex`) -> DISTRIBUTED BY HASH(`user_id`) BUCKETS 1 -> PROPERTIES ( -> "replication_allocation" = "tag.location.default: 1" -> ); Query OK, 0 rows affected (0.61 sec)
mysql> INSERT INTO demo.example_tbl VALUES -> (10000, '2017-10-01', '北京', 20, 0, '2017-10-01 06:00:00', 20, 10, 10), -> (10000, '2017-10-01', '北京', 20, 0, '2017-10-01 07:00:00', 15, 2, 2), -> (10001, '2017-10-01', '北京', 30, 1, '2017-10-01 17:05:45', 2, 22, 22), -> (10002, '2017-10-02', '上海', 20, 1, '2017-10-02 12:59:12', 200, 5, 5), -> (10003, '2017-10-02', '广州', 32, 0, '2017-10-02 11:20:00', 30, 11, 11), -> (10004, '2017-10-01', '深圳', 35, 0, '2017-10-01 10:00:15', 100, 3, 3), -> (10004, '2017-10-03', '深圳', 35, 0, '2017-10-03 10:20:22', 11, 6, 6); Query OK, 7 rows affected (0.46 sec) {'label':'insert_3452b37186f5443c-854dc14881ea073b', 'status':'VISIBLE', 'txnId':'2'}
mysql> select * from example_tbl; +---------+------------+--------+------+------+---------------------+------+----------------+----------------+ | user_id | date | city | age | sex | last_visit_date | cost | max_dwell_time | min_dwell_time | +---------+------------+--------+------+------+---------------------+------+----------------+----------------+ | 10000 | 2017-10-01 | 北京 | 20 | 0 | 2017-10-01 07:00:00 | 35 | 10 | 2 | | 10001 | 2017-10-01 | 北京 | 30 | 1 | 2017-10-01 17:05:45 | 2 | 22 | 22 | | 10002 | 2017-10-02 | 上海 | 20 | 1 | 2017-10-02 12:59:12 | 200 | 5 | 5 | | 10003 | 2017-10-02 | 广州 | 32 | 0 | 2017-10-02 11:20:00 | 30 | 11 | 11 | | 10004 | 2017-10-01 | 深圳 | 35 | 0 | 2017-10-01 10:00:15 | 100 | 3 | 3 | | 10004 | 2017-10-03 | 深圳 | 35 | 0 | 2017-10-03 10:20:22 | 11 | 6 | 6 | +---------+------------+--------+------+------+---------------------+------+----------------+----------------+ 6 rows in set (0.20 sec)
mysql> select * from example_tbl where city='上海'; +---------+------------+--------+------+------+---------------------+------+----------------+----------------+ | user_id | date | city | age | sex | last_visit_date | cost | max_dwell_time | min_dwell_time | +---------+------------+--------+------+------+---------------------+------+----------------+----------------+ | 10002 | 2017-10-02 | 上海 | 20 | 1 | 2017-10-02 12:59:12 | 200 | 5 | 5 | +---------+------------+--------+------+------+---------------------+------+----------------+----------------+ 1 row in set (0.08 sec)
mysql> select city, sum(cost) as total_cost from example_tbl group by city; +--------+------------+ | city | total_cost | +--------+------------+ | 广州 | 30 | | 上海 | 200 | | 北京 | 37 | | 深圳 | 111 | +--------+------------+ 4 rows in set (0.10 sec)
|