1

通常,如果我想连接两个字符串并应用聚合,我遵循以下语法:

Sql 服务器

SELECT substring(t.field, 1, 3) + substring(t.field, 5,7), count(*)
FROM myTable t
GROUP BY substring(t.field, 1, 3) + substring(t.field, 5,7)

甲骨文

SELECT CONCAT(substring(t.field, 1, 3), substring(t.field, 5,7)), count(*)
FROM myTable t
GROUP BY CONCAT(substring(t.field, 1, 3), substring(t.field, 5,7))

在 OrientDB 中,是否可以连接两个字符串并获得它们的聚合?

4

1 回答 1

2

试试这个,OrientDb 的解析器和查询执行器有时会有点挑剔,特别是 group by 选项,这将在禁用“严格模式”的情况下工作(工作室 -> 登录 -> db -> 上的第二个选项卡底部)

SELECT id,  $goofy , count(*) as cont from myTable
LET $sub = id.subString(4),
$goofy = id.subString(1,3).append($sub)
group by $goofy

注意:我已将代码拆分为 2 个变量,因为解析器在解析 .append 中的函数时遇到问题我很确定在 Orientdb 的下一个版本中,此类问题将得到修复(他们已经有了新的解析器开发中)

于 2015-11-27T09:58:09.550 回答