如何将这个嵌套查询转化为单个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
鉴于以下情况
\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