mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-13 16:52:56 +00:00
* feat(promql): supports sort, sort_desc etc. functions * chore: fix toml format and tests * chore: update deps Co-authored-by: Weny Xu <wenymedia@gmail.com> * chore: remove fixme * fix: cargo lock * chore: style --------- Co-authored-by: Weny Xu <wenymedia@gmail.com>
155 lines
5.6 KiB
Plaintext
155 lines
5.6 KiB
Plaintext
CREATE TABLE test (
|
|
ts timestamp(3) time index,
|
|
host STRING,
|
|
idc STRING,
|
|
val BIGINT,
|
|
PRIMARY KEY(host, idc),
|
|
);
|
|
|
|
Affected Rows: 0
|
|
|
|
INSERT INTO TABLE test VALUES
|
|
(0, 'host1', 'idc1', 1),
|
|
(0, 'host2', 'idc1', 2),
|
|
(5000, 'host1', 'idc2', 3),
|
|
(5000, 'host2', 'idc2', 4),
|
|
(10000, 'host1', 'idc3', 5),
|
|
(10000, 'host2', 'idc3', 6),
|
|
(15000, 'host1', 'idc4', 7),
|
|
(15000, 'host2', 'idc4', 8);
|
|
|
|
Affected Rows: 8
|
|
|
|
TQL EVAL (0, 15, '5s') sort(test{host="host1"});
|
|
|
|
+---------------------+-----+-------+------+
|
|
| ts | val | host | idc |
|
|
+---------------------+-----+-------+------+
|
|
| 1970-01-01T00:00:00 | 1 | host1 | idc1 |
|
|
| 1970-01-01T00:00:05 | 1 | host1 | idc1 |
|
|
| 1970-01-01T00:00:10 | 1 | host1 | idc1 |
|
|
| 1970-01-01T00:00:15 | 1 | host1 | idc1 |
|
|
| 1970-01-01T00:00:05 | 3 | host1 | idc2 |
|
|
| 1970-01-01T00:00:10 | 3 | host1 | idc2 |
|
|
| 1970-01-01T00:00:15 | 3 | host1 | idc2 |
|
|
| 1970-01-01T00:00:10 | 5 | host1 | idc3 |
|
|
| 1970-01-01T00:00:15 | 5 | host1 | idc3 |
|
|
| 1970-01-01T00:00:15 | 7 | host1 | idc4 |
|
|
+---------------------+-----+-------+------+
|
|
|
|
TQL EVAL (0, 15, '5s') sort_desc(test{host="host1"});
|
|
|
|
+---------------------+-----+-------+------+
|
|
| ts | val | host | idc |
|
|
+---------------------+-----+-------+------+
|
|
| 1970-01-01T00:00:15 | 7 | host1 | idc4 |
|
|
| 1970-01-01T00:00:10 | 5 | host1 | idc3 |
|
|
| 1970-01-01T00:00:15 | 5 | host1 | idc3 |
|
|
| 1970-01-01T00:00:05 | 3 | host1 | idc2 |
|
|
| 1970-01-01T00:00:10 | 3 | host1 | idc2 |
|
|
| 1970-01-01T00:00:15 | 3 | host1 | idc2 |
|
|
| 1970-01-01T00:00:00 | 1 | host1 | idc1 |
|
|
| 1970-01-01T00:00:05 | 1 | host1 | idc1 |
|
|
| 1970-01-01T00:00:10 | 1 | host1 | idc1 |
|
|
| 1970-01-01T00:00:15 | 1 | host1 | idc1 |
|
|
+---------------------+-----+-------+------+
|
|
|
|
-- SQLNESS REPLACE (\s1970-01-01T\d\d:\d\d:\d\d) timestamp
|
|
TQL EVAL (0, 15, '5s') sort(sum(test{host="host2"}) by (idc));
|
|
|
|
+---------------------+---------------+------+
|
|
| ts | sum(test.val) | idc |
|
|
+---------------------+---------------+------+
|
|
|timestamp | 2 | idc1 |
|
|
|timestamp | 2 | idc1 |
|
|
|timestamp | 2 | idc1 |
|
|
|timestamp | 2 | idc1 |
|
|
|timestamp | 4 | idc2 |
|
|
|timestamp | 4 | idc2 |
|
|
|timestamp | 4 | idc2 |
|
|
|timestamp | 6 | idc3 |
|
|
|timestamp | 6 | idc3 |
|
|
|timestamp | 8 | idc4 |
|
|
+---------------------+---------------+------+
|
|
|
|
-- SQLNESS REPLACE (\s1970-01-01T\d\d:\d\d:\d\d) timestamp
|
|
TQL EVAL (0, 15, '5s') sort_desc(sum(test{host="host2"}) by (idc));
|
|
|
|
+---------------------+---------------+------+
|
|
| ts | sum(test.val) | idc |
|
|
+---------------------+---------------+------+
|
|
|timestamp | 8 | idc4 |
|
|
|timestamp | 6 | idc3 |
|
|
|timestamp | 6 | idc3 |
|
|
|timestamp | 4 | idc2 |
|
|
|timestamp | 4 | idc2 |
|
|
|timestamp | 4 | idc2 |
|
|
|timestamp | 2 | idc1 |
|
|
|timestamp | 2 | idc1 |
|
|
|timestamp | 2 | idc1 |
|
|
|timestamp | 2 | idc1 |
|
|
+---------------------+---------------+------+
|
|
|
|
-- SQLNESS REPLACE (\s1970-01-01T\d\d:\d\d:\d\d) timestamp
|
|
-- SQLNESS REPLACE (\s\d\s) val
|
|
TQL EVAL (0, 15, '5s') sort_by_label(sum(test) by (idc, host), "idc", "host");
|
|
|
|
+---------------------+---------------+------+-------+
|
|
| ts | sum(test.val) | idc | host |
|
|
+---------------------+---------------+------+-------+
|
|
|timestamp |val | idc1 | host1 |
|
|
|timestamp |val | idc1 | host1 |
|
|
|timestamp |val | idc1 | host1 |
|
|
|timestamp |val | idc1 | host1 |
|
|
|timestamp |val | idc1 | host2 |
|
|
|timestamp |val | idc1 | host2 |
|
|
|timestamp |val | idc1 | host2 |
|
|
|timestamp |val | idc1 | host2 |
|
|
|timestamp |val | idc2 | host1 |
|
|
|timestamp |val | idc2 | host1 |
|
|
|timestamp |val | idc2 | host1 |
|
|
|timestamp |val | idc2 | host2 |
|
|
|timestamp |val | idc2 | host2 |
|
|
|timestamp |val | idc2 | host2 |
|
|
|timestamp |val | idc3 | host1 |
|
|
|timestamp |val | idc3 | host1 |
|
|
|timestamp |val | idc3 | host2 |
|
|
|timestamp |val | idc3 | host2 |
|
|
|timestamp |val | idc4 | host1 |
|
|
|timestamp |val | idc4 | host2 |
|
|
+---------------------+---------------+------+-------+
|
|
|
|
-- SQLNESS REPLACE (\s1970-01-01T\d\d:\d\d:\d\d) timestamp
|
|
-- SQLNESS REPLACE (\s\d\s) val
|
|
TQL EVAL (0, 15, '5s') sort_by_label_desc(sum(test) by (idc, host), "idc", "host");
|
|
|
|
+---------------------+---------------+------+-------+
|
|
| ts | sum(test.val) | idc | host |
|
|
+---------------------+---------------+------+-------+
|
|
|timestamp |val | idc4 | host2 |
|
|
|timestamp |val | idc4 | host1 |
|
|
|timestamp |val | idc3 | host2 |
|
|
|timestamp |val | idc3 | host2 |
|
|
|timestamp |val | idc3 | host1 |
|
|
|timestamp |val | idc3 | host1 |
|
|
|timestamp |val | idc2 | host2 |
|
|
|timestamp |val | idc2 | host2 |
|
|
|timestamp |val | idc2 | host2 |
|
|
|timestamp |val | idc2 | host1 |
|
|
|timestamp |val | idc2 | host1 |
|
|
|timestamp |val | idc2 | host1 |
|
|
|timestamp |val | idc1 | host2 |
|
|
|timestamp |val | idc1 | host2 |
|
|
|timestamp |val | idc1 | host2 |
|
|
|timestamp |val | idc1 | host2 |
|
|
|timestamp |val | idc1 | host1 |
|
|
|timestamp |val | idc1 | host1 |
|
|
|timestamp |val | idc1 | host1 |
|
|
|timestamp |val | idc1 | host1 |
|
|
+---------------------+---------------+------+-------+
|
|
|
|
drop table test;
|
|
|
|
Affected Rows: 0
|
|
|