OrientDB - 连接两个字符串并聚合它们
OrientDB - Concatenate two strings and aggregate them
通常,如果我想连接两个字符串并应用聚合,我会遵循以下语法:
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 中,是否可以连接两个字符串并得到它们的聚合?
试试这个,OrientDb 的解析器和查询执行器有时可能会有点挑剔,特别是对于 group by 选项,这将在 'Strict mode' 禁用的情况下工作(studio -> log in -> 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 的下一个版本中,此类问题将得到解决(他们已经开发了一个新的解析器)
通常,如果我想连接两个字符串并应用聚合,我会遵循以下语法:
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 中,是否可以连接两个字符串并得到它们的聚合?
试试这个,OrientDb 的解析器和查询执行器有时可能会有点挑剔,特别是对于 group by 选项,这将在 'Strict mode' 禁用的情况下工作(studio -> log in -> 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 的下一个版本中,此类问题将得到解决(他们已经开发了一个新的解析器)