从OrientDB中的unionall删除重复结果

从OrientDB中的unionall删除重复结果,orientdb,Orientdb,我正在运行一个由select和match查询组成的联合查询,就这个问题而言,它们的结果相当于:(尝试使用演示数据库) 问题是这些查询产生了一些重复的结果,我希望删除重复的结果 通过阅读文档,我发现可以用selectdistinct@this来包装它,这似乎很有效,但我想一定有更干净的方法 下面解决了我的问题,但是有更简单的方法吗 select expand(*) from (select distinct(@this) from ( select expand(unionall( (

我正在运行一个由
select
match
查询组成的联合查询,就这个问题而言,它们的结果相当于:(尝试使用演示数据库)

问题是这些查询产生了一些重复的结果,我希望删除重复的结果

通过阅读文档,我发现可以用
selectdistinct@this
来包装它,这似乎很有效,但我想一定有更干净的方法

下面解决了我的问题,但是有更简单的方法吗

select expand(*) from (select distinct(@this) from (
  select expand(unionall(
    (select from castles limit 6),
    (select from castles limit 3)
))))
asSet()
似乎就是答案。它可以用于结果数据,并将删除重复项

完整查询:

select expand(unionall(
    (select from castles limit 6),
    (select from castles limit 3)
).asSet())

嗨,你用的是什么版本?为什么你需要先做限制6,然后再做限制3?谢谢
select expand(unionall(
    (select from castles limit 6),
    (select from castles limit 3)
).asSet())