我正在运行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)
))))
答案 0 :(得分:1)
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())