假设我有一张桌子
q) t:([]
name:`c`c`c`w`w;
id:1 1 1 2 1;
c:2 4 5 4 3
);
q)show t;
name id c
---------
c 1 2
c 1 4
c 1 5
w 2 4
w 1 3
并且我想根据
name
和 id
的复合分组获得第一行。
因为我只能做一栏
q)select first c by name,id from t
name id c
---------
c 1 2
w 2 4
w 1 3
这给了我所需的结果。但是,假设我有几个其他列(除了
name
、id
、c
),导致打字不方便
select first c, first col1, first col2, ...,first colN by name,id from t
有更简洁的吗?
使用
fby
https://code.kx.com/q/ref/fby/#tables
q)select from t where i=(first;i) fby ([] name; id)
name id c
---------
c 1 2
w 2 4
w 1 3
q)