给定以下内容
\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选择每个窗口中的第一条记录(按a分组,按c降序排序),而不是加入内部查询作为过滤器的一部分?如果是这样,就不需要加入。
结果是一样的。然后我可以进行测试,看看性能是否不同。但主要是试图了解什么类型的查询是不可能的和不可能的。
你可以试试 fby 与您当前查询的结果相匹配
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/