用context by分组后,如何获取每组中除top 1外的所有行

如下图所示,name为a的value有[1,2,3,4],name为b的value有[2,3,4,5],我context by name后,我要得到每组内除value最小外的其他所有值,即a的[2,3,4],b的[3,4,5]。
image.png
请问在DolphinDB database中有什么简单的方法?

阅读 1.4k
1 个回答

DolphinDB中context by可以跟having子句搭配使用。如果过滤条件返回一个vector,那么返回值为true的行将被保留。如果过滤条件返回一个scalar,如果返回true,这个组所有行都被保留,如果返回false,这个组所有行都将被过滤掉。这个场景中只保留大于最小值的行:value > value.min()

t = table(1 2 3 4 2 3 4 5 as value, `a`a`a`a`b`b`b`b as name)
select * from t context by name having value > value.min()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进