按可空值排序应将空值排序在 0 之前

问题描述 投票:0回答:1

我正在使用模板视图和光学库来显示项目列表。现在,在按升序排序后,我在输出中得到类似的结果:

0.00, 1.55, null
。正确的结果应该是:
null, 0.00, 1.55
.

我的代码与此示例类似:https://docs.marklogic.com/ModifyPlan.prototype.orderBy但某些员工 ID 为空。

我尝试使用

op.case
,但代码运行速度较慢且结果不正确。我想也许我可以更改 tde 模板以获得正确的结果。

marklogic marklogic-10
1个回答
0
投票

目前,

null
值将始终是最后一个,在其他订购的商品之后返回。

但是,可以选择在

SQL 
NULLS FIRST
 中指定 NULLS LAST
ORDER BY

您可以通过

.op.fromSQL()
将这些选项应用到光学查询中作为解决方法,以便首先对
null
值进行排序。

op.fromSQL("SELECT EmployeeID, FirstName, LastName FROM employees ORDER BY EmployeeID NULLS FIRST")
.result()
© www.soinside.com 2019 - 2024. All rights reserved.