从 OrientDB 中的 unionall 中删除重复结果
Removing duplicate results from unionall in OrientDB
我是 运行 select
和 match
查询的联合,其结果对于这个问题的目的等同于:(尝试使用演示数据库)
select expand(unionall(
(select from castles limit 6),
(select from castles limit 3)
))
问题是这些查询产生了一些重复的结果,我希望删除重复的结果。
通过阅读文档,我发现可以用 select distinct @this
包装它,这似乎可行,但我认为必须有一种更简洁的方法。
下面解决了我的问题,但是有没有更简单的方法呢?
select expand(*) from (select distinct(@this) from (
select expand(unionall(
(select from castles limit 6),
(select from castles limit 3)
))))
asSet()
似乎是答案。它可用于结果数据,并将删除重复项。
https://orientdb.com/docs/last/sql/SQL-Methods.html#asset
完整查询:
select expand(unionall(
(select from castles limit 6),
(select from castles limit 3)
).asSet())
我是 运行 select
和 match
查询的联合,其结果对于这个问题的目的等同于:(尝试使用演示数据库)
select expand(unionall(
(select from castles limit 6),
(select from castles limit 3)
))
问题是这些查询产生了一些重复的结果,我希望删除重复的结果。
通过阅读文档,我发现可以用 select distinct @this
包装它,这似乎可行,但我认为必须有一种更简洁的方法。
下面解决了我的问题,但是有没有更简单的方法呢?
select expand(*) from (select distinct(@this) from (
select expand(unionall(
(select from castles limit 6),
(select from castles limit 3)
))))
asSet()
似乎是答案。它可用于结果数据,并将删除重复项。
https://orientdb.com/docs/last/sql/SQL-Methods.html#asset
完整查询:
select expand(unionall(
(select from castles limit 6),
(select from castles limit 3)
).asSet())