如何为 "select count(DISTINCT user_id), count(*) from music group by gender" 构造 yql

How to construct yql for "select count(DISTINCT user_id), count(*) from music group by gender"

我为

尝试了以下 yql 语句
select count(DISTINCT user_id), count(*) from music group by gender


/search/?yql=select (…) | all(group(gender) each(output(count())                                                              
                              all(group(user_id) output(count()))));

出现错误: "code": 5, "message": "Failed searching: Can not use output label 'count()' for multiple siblings.",

问题是您需要同一级别的两个不同计数(文档和唯一用户)。

这通常可以通过使用 "as" 的唯一标签来解决,但不幸的是,我们需要每个标签都匹配,这并不能解决这种情况。我将为此创建一个 GitHub 问题。也就是说,您可以通过将其编写为两个平行分组并匹配每个分组来实现:

all(all(group(gender) each(output(count())) as(documents))
    all(group(gender) each(group(user_id) output(count())) as(users)))