如何在 KDB/Q 中同时进行升序和降序排序

How do a simultaneous ascending and descending sort in KDB/Q

在SQL中,可以做到

SELECT from tbl  ORDER BY col1, col2 DESC

在KDB,可以做到

`col1 xasc select from tbl

`col2 xdesc select from tbl

但是如何在 KDB/Q 中按 col1 升序排序然后按 col2 降序排序?

2 种。

创建示例数据:

q)show tbl:([]a:10?10;b:10?10;c:10?10)
a b c
-----
8 4 8
1 9 1
7 2 9
2 7 5
4 0 4
5 1 6
4 9 6
2 2 1
7 1 8
8 8 5

进行排序:

q)`a xasc `b xdesc tbl
a b c
-----
1 9 1
2 7 5
2 2 1
4 9 6
4 0 4
5 1 6
7 2 9
7 1 8
8 8 5
8 4 8