我试图在我的文档中按数组的第一个元素分组。
然后进行过滤,这样我就只得到值大于1的组。我在找复制品。
文档如下所示:
{
"Entity": {
"EntityId": 118788,
"Urls": [
{
Value: "http://some/url"
}
]
}
}
此查询工作正常:
SELECT c.Entity.Urls[0]["Value"] as url, count(1) as cnt
FROM c
where IS_DEFINED(c.Entity.Urls) AND ARRAY_LENGTH(c.Entity.Urls) > 0
group by c.Entity.Urls[0]["Value"]
但是我如何过滤我的组,只得到那些cnt > 1的组呢?或者按cnt降序排序。
下面是给我一个错误:
select * from
(
SELECT c.Entity.Urls[0]["Value"] as url, count(1) as cnt
FROM c
where IS_DEFINED(c.Entity.Urls) AND ARRAY_LENGTH(c.Entity.Urls) > 0
group by c.Entity.Urls[0]["Value"]
)
where cnt > 1
1条答案
按热度按时间omqzjyyz1#
试试下面的代码。
在这里,您需要为group by查询的结果给予一个名称,以访问该列。我给第一个查询的结果指定了
c
,并在执行查询时用作c.cnt
。