Kdb 为键控表中的所有列选择distinct

Kdb 为键控表中的所有列选择distinct,kdb,k,Kdb,K,似乎我们不能像对未设置关键字的表那样从设置关键字的表中获取不同的值: t:([a:1 2]b:3 4) ?[t;();0b;()] // keyed table ?[0!t;();1b;()] // unkeyed table ?[t;();1b;()] // err 'type 为什么这里会出现这个错误?我怀疑这与不能在字典上运行distinct的原因是一样的——它是不明确的。您打算对键或值应用distinct吗?我认为kdb没有选择哪一边,所以它让你自己做 q)t:([]a:1 1

似乎我们不能像对未设置关键字的表那样从设置关键字的表中获取不同的值:

t:([a:1 2]b:3 4)
?[t;();0b;()]   // keyed table
?[0!t;();1b;()] // unkeyed table
?[t;();1b;()]   // err 'type

为什么这里会出现这个错误?

我怀疑这与不能在字典上运行distinct的原因是一样的——它是不明确的。您打算对键或值应用distinct吗?我认为kdb没有选择哪一边,所以它让你自己做

q)t:([]a:1 1 1 2 2;b:10 12 10 14 14)
q)select distinct from t
a b
----
1 10
1 12
2 14
q)select distinct from 1!t
'type

q)distinct `a`b`c!(1;"ab";enlist 1b)
'type

我怀疑这和你不能在字典上运行distinct的原因是一样的——它是不明确的。您打算对键或值应用distinct吗?我认为kdb没有选择哪一边,所以它让你自己做

q)t:([]a:1 1 1 2 2;b:10 12 10 14 14)
q)select distinct from t
a b
----
1 10
1 12
2 14
q)select distinct from 1!t
'type

q)distinct `a`b`c!(1;"ab";enlist 1b)
'type