mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-05-21 15:30:40 +00:00
* feat: only allow timestamp data type as time index * test: update sqltest cases, todo: need some fixes * fix: sqlness tests * fix: forgot adding back cte test * chore: style
111 lines
4.5 KiB
Plaintext
111 lines
4.5 KiB
Plaintext
CREATE TABLE test(i INTEGER, j INTEGER, t TIMESTAMP TIME INDEX);
|
|
|
|
Affected Rows: 0
|
|
|
|
INSERT INTO test VALUES (1, 1, 1), (NULL, 1, 2), (1, NULL, 3);
|
|
|
|
Affected Rows: 3
|
|
|
|
SELECT * FROM test ORDER BY i NULLS FIRST, j NULLS LAST;
|
|
|
|
+---+---+-------------------------+
|
|
| i | j | t |
|
|
+---+---+-------------------------+
|
|
| | 1 | 1970-01-01T00:00:00.002 |
|
|
| 1 | 1 | 1970-01-01T00:00:00.001 |
|
|
| 1 | | 1970-01-01T00:00:00.003 |
|
|
+---+---+-------------------------+
|
|
|
|
SELECT * FROM test ORDER BY i NULLS FIRST, j NULLS FIRST;
|
|
|
|
+---+---+-------------------------+
|
|
| i | j | t |
|
|
+---+---+-------------------------+
|
|
| | 1 | 1970-01-01T00:00:00.002 |
|
|
| 1 | | 1970-01-01T00:00:00.003 |
|
|
| 1 | 1 | 1970-01-01T00:00:00.001 |
|
|
+---+---+-------------------------+
|
|
|
|
SELECT * FROM test ORDER BY i NULLS LAST, j NULLS FIRST;
|
|
|
|
+---+---+-------------------------+
|
|
| i | j | t |
|
|
+---+---+-------------------------+
|
|
| 1 | | 1970-01-01T00:00:00.003 |
|
|
| 1 | 1 | 1970-01-01T00:00:00.001 |
|
|
| | 1 | 1970-01-01T00:00:00.002 |
|
|
+---+---+-------------------------+
|
|
|
|
SELECT i, j, row_number() OVER (PARTITION BY i ORDER BY j NULLS FIRST) FROM test ORDER BY i NULLS FIRST, j NULLS FIRST;
|
|
|
|
+---+---+------------------------------------------------------------------------------------------------------------------------+
|
|
| i | j | ROW_NUMBER() PARTITION BY [test.i] ORDER BY [test.j ASC NULLS FIRST] RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
|
|
+---+---+------------------------------------------------------------------------------------------------------------------------+
|
|
| | 1 | 1 |
|
|
| 1 | | 1 |
|
|
| 1 | 1 | 2 |
|
|
+---+---+------------------------------------------------------------------------------------------------------------------------+
|
|
|
|
SELECT i, j, row_number() OVER (PARTITION BY i ORDER BY j NULLS LAST) FROM test ORDER BY i NULLS FIRST, j NULLS FIRST;
|
|
|
|
+---+---+-----------------------------------------------------------------------------------------------------------------------+
|
|
| i | j | ROW_NUMBER() PARTITION BY [test.i] ORDER BY [test.j ASC NULLS LAST] RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
|
|
+---+---+-----------------------------------------------------------------------------------------------------------------------+
|
|
| | 1 | 1 |
|
|
| 1 | | 2 |
|
|
| 1 | 1 | 1 |
|
|
+---+---+-----------------------------------------------------------------------------------------------------------------------+
|
|
|
|
SELECT * FROM test ORDER BY i NULLS FIRST, j NULLS LAST LIMIT 2;
|
|
|
|
+---+---+-------------------------+
|
|
| i | j | t |
|
|
+---+---+-------------------------+
|
|
| | 1 | 1970-01-01T00:00:00.002 |
|
|
| 1 | 1 | 1970-01-01T00:00:00.001 |
|
|
+---+---+-------------------------+
|
|
|
|
SELECT * FROM test ORDER BY i NULLS LAST, j NULLS LAST LIMIT 2;
|
|
|
|
+---+---+-------------------------+
|
|
| i | j | t |
|
|
+---+---+-------------------------+
|
|
| 1 | 1 | 1970-01-01T00:00:00.001 |
|
|
| 1 | | 1970-01-01T00:00:00.003 |
|
|
+---+---+-------------------------+
|
|
|
|
SELECT * FROM test ORDER BY i;
|
|
|
|
+---+---+-------------------------+
|
|
| i | j | t |
|
|
+---+---+-------------------------+
|
|
| 1 | 1 | 1970-01-01T00:00:00.001 |
|
|
| 1 | | 1970-01-01T00:00:00.003 |
|
|
| | 1 | 1970-01-01T00:00:00.002 |
|
|
+---+---+-------------------------+
|
|
|
|
SELECT * FROM test ORDER BY i NULLS FIRST;
|
|
|
|
+---+---+-------------------------+
|
|
| i | j | t |
|
|
+---+---+-------------------------+
|
|
| | 1 | 1970-01-01T00:00:00.002 |
|
|
| 1 | 1 | 1970-01-01T00:00:00.001 |
|
|
| 1 | | 1970-01-01T00:00:00.003 |
|
|
+---+---+-------------------------+
|
|
|
|
SELECT * FROM test ORDER BY i NULLS LAST;
|
|
|
|
+---+---+-------------------------+
|
|
| i | j | t |
|
|
+---+---+-------------------------+
|
|
| 1 | 1 | 1970-01-01T00:00:00.001 |
|
|
| 1 | | 1970-01-01T00:00:00.003 |
|
|
| | 1 | 1970-01-01T00:00:00.002 |
|
|
+---+---+-------------------------+
|
|
|
|
DROP TABLE test;
|
|
|
|
Affected Rows: 1
|
|
|