在我的OrientDB环境中,ORDER BY子句不起作用。
我在控制台上做了一个简单的查询:
按模式从批处理作业顺序中选择
我得到这个例外:
错误:com.orientechnologies.orient.enterprise.channel.binary.OResponseProcessingException:响应处理期间异常
错误:java.lang.NoClassDefFoundError:无法初始化类 sun.text.normalizer.NormalizerImpl
我正在运行 orientDB 版本 17。这在我的所有实体和任何字段上都失败。我的"批处理作业"实体很简单,有几个字符串字段,如"模式"。我没有其他问题,并且对这种环境进行了广泛的接触。
请帮我解决这个问题。
即使使用 2.2.21,我也发现了一些有趣的东西。
我需要使用别名而不是列名才能ORDER BY
工作。
例如:以下内容不起作用。
select a.name, a.age from (match {class: Person, as: a} return a) order by a.age
但这行得通
select a.name, a.age as age from (match {class: Person, as: a} return a) order by age
我认为与sql不同,a
在获取结果后和排序完成之前是不可见的。