[英]Perfoming calculations on properties from different edges in OrientDB
我有一个独特的问题,我想根据不同边沿返回的值进行计算,这似乎不适用于我。
我图的功能是跟踪人们对Magic:Gathering卡的收藏。 请使用该图作为解决我的问题的例证。
我想以#8:0
为起点,看看哪个牌组( MDeck
)拥有我拥有的牌( MCard
),并计算出我已经在集合中拥有的牌组的百分比。 我的查询开始像这样:
SELECT FROM (SELECT FLATTEN(out[label="has"]) FROM #8:0) WHERE in.in.size() > 1
这是为了获得属于卡组的我拥有的卡。 接下来,如果我的某张卡牌多于卡组上的卡牌,我只会计算所需的卡,因此我必须使用MIN()。 这是出现问题的地方:
SELECT
MIN(UNION(in.in[label="includes"].qty, qty))
FROM (
SELECT
FLATTEN(out[label="has"])
FROM #8:0
)
WHERE in.in.size() > 1
我以为这可以解决问题,但它只是返回null。 我确保所有数量字段都是整数。 我想念什么吗?
谢谢,
拉蒙
您是否有一个公共数据库,可以在其中使用OrientDB控制台或Studio执行查询?
如果不能,您是否可以在这里报告上一次查询的中间结果? 例如:
SELECT
in.in[label="includes"].qty
FROM (
SELECT
FLATTEN(out[label="has"])
FROM #8:0
)
WHERE in.in.size() > 1
接着:
SELECT
UNION(in.in[label="includes"].qty, qty)
FROM (
SELECT
FLATTEN(out[label="has"])
FROM #8:0
)
WHERE in.in.size() > 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.