你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
接收一个或多个数组。 按降序对第一个数组进行排序。 对其余数组进行排序,以匹配重新排序后的第一个数组。
语法
array_sort_desc(
array1[, ..., argumentN])
array_sort_desc(
array1[, ..., argumentN],
nulls_last)
如果未提供 nulls_last,则使用默认值 。
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
array1...arrayN | dynamic |
✔️ | 要排序的数组或数组列表。 |
nulls_last | bool |
确定 null 是否应位于最后。 |
返回
返回相同数量(与输入相比)的数组,第一个数组按升序排序,其余数组在排序后与重新排序的第一个数组匹配。
对于与第一个数组长度不同的所有数组,均返回 null
。
包含不同类型的元素的数组按以下顺序排序:
- 数值、
datetime
和timespan
元素 - 字符串元素
- GUID 元素
- 所有其他元素
例子
以下示例按降序对初始数组 array1
进行排序。 然后,它会对 array2
进行排序,以匹配 array1
的新顺序。
let array1 = dynamic([1,3,4,5,2]);
let array2 = dynamic(["a","b","c","d","e"]);
print array_sort_desc(array1,array2)
输出
array1_sorted | array2_sorted |
---|---|
[5,4,3,2,1] | [“d”,“c”,“b”,“e”,“a”] |
注意
输出列名称根据函数的参数自动生成。 若要为输出列分配不同的名称,请使用以下语法:... | extend (out1, out2) = array_sort_desc(array1,array2)
。
以下示例按降序对名称列表进行排序。 它将名称列表保存到变量 Names
,然后拆分为数组并按降序排序。 查询按降序返回名称。
let Names = "John,Paul,Jane,Kayo";
let SortedNames = strcat_array(array_sort_desc(split(Names, ",")), ",");
print result = SortedNames
输出
结果 |
---|
保罗,卡约,约翰,简 |
以下示例使用 summarize
运算符和 array_sort_asc
函数按时间顺序按用户排序和排序命令。
datatable(command:string, command_time:datetime, user_id:string)
[
'chmod', datetime(2019-07-15), "user1",
'ls', datetime(2019-07-02), "user1",
'dir', datetime(2019-07-22), "user1",
'mkdir', datetime(2019-07-14), "user1",
'rm', datetime(2019-07-27), "user1",
'pwd', datetime(2019-07-25), "user1",
'rm', datetime(2019-07-23), "user2",
'pwd', datetime(2019-07-25), "user2",
]
| summarize timestamps = make_list(command_time), commands = make_list(command) by user_id
| project user_id, commands_in_chronological_order = array_sort_desc(timestamps, commands)[1]
输出
用户ID | commands_in_chronological_order |
---|---|
user1 | [ “rm”, “pwd”, “dir”, “chmod”, “mkdir”, “ls” ] |
user2 | [ “pwd”, “rm” ] |
注意
如果数据可以包含 null
值,请使用 make_list_with_nulls 而不是 make_list。
默认情况下,null
值放在已排序数组的最后。 但是,你可以显式控制它,方法是将 bool
值添加为 array_sort_asc()
的最后一个参数。
以下示例显示了默认行为:
print result=array_sort_desc(dynamic([null,"blue","yellow","green",null]))
输出
结果 |
---|
[“yellow”,“green”,“blue”,null,null] |
以下示例使用 false
参数显示非默认行为,该参数指定 null 放置在数组的开头。
print result=array_sort_desc(dynamic([null,"blue","yellow","green",null]), false)
输出
结果 |
---|
[null,null,“yellow”,“green”,“blue”] |