Files
greptimedb/tests/cases/standalone/common/order/nulls_first.result
2023-09-28 06:21:18 +00: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: 0