非常愚蠢的问题......考虑下面按 sym 排序的表 t1。
t1:([]sym:(3#`A),(2#`B),(4#`C);val:10 40 12 50 58 75 22 103 108)
sym val
A 10
A 40
A 12
B 50
B 58
C 75
C 22
C 103
C 108
Run Code Online (Sandbox Code Playgroud)
我想选择与每个符号对应的第一行,如下所示:
(`sym`val)!(`A`B`C;10j, 50j, 75j)
sym val
A 10
B 50
C 75
Run Code Online (Sandbox Code Playgroud)
必须有一个单线来做到这一点。要获取每个符号的最后一行,就像select by sym from t1. 任何提示?
小智 5
select first val by sym from t1
Run Code Online (Sandbox Code Playgroud)
或者对于多列,您可以反转表并运行您的查询:
select by sym from reverse t1
Run Code Online (Sandbox Code Playgroud)
你可以使用fby
q)select from t1 where i=(first;i) fby sym
sym val
-------
A 10
B 50
C 75
Run Code Online (Sandbox Code Playgroud)