跳到主要内容

ARRAY_REVERSE_SORT

array_reverse_sort

array_reverse_sort

description

Syntax

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

返回按降序排列后的数组,如果输入数组为 NULL,则返回 NULL。 如果数组元素包含 NULL, 则输出的排序数组会将 NULL 放在最后面。

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