Skip to main content

array_reverse_sort

array_reverse_sort​

SinceVersion 1.2.3

array_reverse_sort

description​

Syntax​

ARRAY<T> array_reverse_sort(ARRAY<T> arr)

Return the array which has been sorted in descending order. Return NULL for NULL input. If the element of array is NULL, it will be placed in the last of the sorted array.

notice​

Only supported in vectorized engine

example​

+------+-----------------------------+-----------------------------+
| k1 | k2 | array_reverse_sort(`k2`) |
+------+-----------------------------+-----------------------------+
| 1 | [1, 2, 3, 4, 5] | [5, 4, 3, 2, 1] |
| 2 | [6, 7, 8] | [8, 7, 6] |
| 3 | [] | [] |
| 4 | NULL | NULL |
| 5 | [1, 2, 3, 4, 5, 4, 3, 2, 1] | [5, 4, 4, 3, 3, 2, 2, 1, 1] |
| 6 | [1, 2, 3, NULL] | [3, 2, 1, NULL] |
| 7 | [1, 2, 3, NULL, NULL] | [3, 2, 1, NULL, NULL] |
| 8 | [1, 1, 2, NULL, NULL] | [2, 1, 1, NULL, NULL] |
| 9 | [1, NULL, 1, 2, NULL, NULL] | [2, 1, 1, NULL, NULL, NULL] |
+------+-----------------------------+-----------------------------+

mysql> select k1, k2, array_reverse_sort(k2) from array_test01;
+------+------------------------------------------+------------------------------------------+
| k1 | k2 | array_reverse_sort(`k2`) |
+------+------------------------------------------+------------------------------------------+
| 1 | ['a', 'b', 'c', 'd', 'e'] | ['e', 'd', 'c', 'b', 'a'] |
| 2 | ['f', 'g', 'h'] | ['h', 'g', 'f'] |
| 3 | [''] | [''] |
| 3 | [NULL] | [NULL] |
| 5 | ['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c'] | ['e', 'd', 'c', 'c', 'b', 'b', 'a', 'a'] |
| 6 | NULL | NULL |
| 7 | ['a', 'b', NULL] | ['b', 'a', NULL] |
| 8 | ['a', 'b', NULL, NULL] | ['b', 'a', NULL, NULL] |
+------+------------------------------------------+------------------------------------------+

keywords​

ARRAY, SORT, REVERSE, ARRAY_SORT, ARRAY_REVERSE_SORT