如何将这个嵌套查询转化为单个by查询(模拟一个MySqlwindow函数)?

How to convert this nested query into a single by query (simulating a MySql window function)?

鉴于以下情况

\S 1234
t:([]a:10 ? til 5; b:10 ? til 100; c:10 ? til 10000);

select a,b,c from ij[t; select maxc:max c by a from t] where c=maxc;

而不是加入一个内部查询作为过滤器的一部分,是否可以让 q select 每个记录中的第一条记录(window 按 a 分组并按 c 降序排序) ?如果是这样,则不需要加入。

结果是一样的。然后我可以进行测试以查看性能是否不同。但主要只是想了解哪些类型的查询是可能的,哪些是不可能的。

您可以尝试 fby 匹配您当前查询的结果

q)select from t where c = (max;c) fby a
a b  c
---------
2 2  5480
3 39 9473
4 77 6458

https://code.kx.com/q/ref/fby/