Couchbase N1QL顺序按true和字段,不&';不存在

Couchbase N1QL顺序按true和字段,不&';不存在,couchbase,n1ql,Couchbase,N1ql,我试图通过一个有时存在,有时不存在的字段进行排序。示例数据: [ { Name: Jeff, RegisteredUser: true }, { Name: Jane }, { Name: Jill, RegisteredUser: true }, ] 我的问题是: SELECT a.* FROM table a WHERE AND a.DocType = "User" ORDER BY Lower(a.RegisteredUse

我试图通过一个有时存在,有时不存在的字段进行排序。示例数据:

[
  { Name: Jeff, RegisteredUser: true },
  { Name: Jane },
  { Name: Jill, RegisteredUser: true },
]
我的问题是:

SELECT a.* 
        FROM table a 
        WHERE AND a.DocType = "User"
        ORDER BY Lower(a.RegisteredUser) ASC

但是,当我使用上面的查询时,它根本没有正确地按顺序排序(基本上什么也不做)。

它按顺序排序。请注意“缺失”的下方是“缺失”,并放在第一位, 非字符串上的LOWER值为NULL(因为LOWER只能在字符串上执行),该值放在缺少后。In duplicated值可以与In duplicates进行任意排序,以避免提供更多的order BY表达式。结帐

您可以删除LOWER,因为布尔字段不需要LOWER

SELECT a.* 
FROM table a 
WHERE AND a.DocType = "User"
ORDER BY a.RegisteredUser ASC;