如何在 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
在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