SELECT Google 工作表查询中只有一列是 DISTINCT

SELECT DISTINCT for only one Column in Google Sheets Query

假设我有以下查询。

=query (A:C; "SELECT A, B, C")

我如何修改它才能returns没有重复的 A?

换句话说,当几行包含相同的 A 时,我希望结果只包含其中的一行(最后一行)。其他列中的重复项应被允许。

我在这里找到了 SQL 服务器的答案,但我不知道如何在 Google 表格查询中执行此操作 DISTINCT for only one Column

我有:

A,             B,        C
lucas@abc.com, approved, 05/04/2019
lucas@abc.com, not set, 05/05/2019
lucas@abc.com, refunded, 05/06/2019
john@xyz.com, approved, 05/06/2019
john@xyz.com, approved, 05/07/2019
john@xyz.com, approved, 05/07/2019

我想要的:

A,             B,        C
lucas@abc.com, refunded, 05/06/2019
john@xyz.com, approved, 05/07/2019

您可以使用 SORTN,其中第 3 个参数设置为 2:

=SORTN(SORT(A1:C, 3, 1), ROWS(A:A), 2, 1, 0)

试试下面的公式:

=unique(filter(A:C,match(A:A&C:C,query(query(A:C,"select A,max(C) where A<>'' group by A label max(C) ''"),"select Col1")&query(query(A:C,"select A,max(C) where A<>'' group by A label max(C) ''"),"select Col2"),0)))


截图:

截至今天,2020 年 6 月,查询语法发生了一些变化,对于那些没有得到上面公式的人,请尝试用这个变体替换它。

== 对于那些不知道这是关于什么的人。 Google 选择 table 个按行创建日期分组和排序的唯一值

=UNIQUE(FILTER(A:C;MATCH(A:A&C:C;QUERY(QUERY(A:C;"select A, max(C) where A <> '' GROUP BY A label max(C) ''");"select Col1")&QUERY(QUERY(A:C;"select A,max(C) where A<>'' group by A label max(C) ''");"select Col2");0)))