通过Google Query查询群组中的唯一身份

时间:2014-03-15 17:33:18

标签: google-sheets

我有这张桌子:

A B
1 4
2 5
3 6
1 4
2 4
3 4

我怎么输出:

A count
1 1
2 2
3 2

即。计算具有不同价值的记录。

我已经读过,我可以在mysql中做到:

select A, count(distinct B) from table group by A

如何将其转换为Google电子表格查询语言?

4 个答案:

答案 0 :(得分:6)

一种方法是

1-在C1栏中输入公式=Unique(A1:A6)。这将为您提供A列中的唯一项目

enter image description here

2-然后在D1列中,输入=COUNTUNIQUE(FILTER($B$1:$B$6,$A$1:$A$6=C1))并向下拖动

enter image description here

答案 1 :(得分:3)

=QUERY(unique(A1:B7), "select Col1, count(Col2) group by Col1")

通常,第一部分制作一个"表"仅包含唯一值和select计数和组。

答案 2 :(得分:0)

如果您想使用QUERY执行此操作,则可以。实际上,QUERY函数会为您提供一个表格;您必须设置另一个QUERY来设置最终函数的范围。

在你的情况下:

=QUERY(
UNIQUE(QUERY(A1:B7;"SELECT * WHERE A is not null ORDER BY A"));
"SELECT Col1, count(Col2) WHERE Col1 is not null GROUP BY Col1")

如您所见,第一个QUERY为第二个设置表。这就是为什么你必须使用ColX而不是A来进行最后的QUERY。

答案 3 :(得分:0)

您只需在查询中添加求和函数。

SUM(QUERY(A1:B7,"SELECT COUNT(B) GROUP BY B LABEL COUNT(B) ''"))