Files
greptimedb/tests/cases/standalone/common/order/nulls_first.result
dennis zhuang db89235474 feat: only allow timestamp type as time index (#2281)
* 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
2023-09-12 07:57:15 -05:00

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