【问题标题】:Google Sheets QUERY most recent unique entriesGoogle 表格 QUERY 最近的唯一条目
【发布时间】:2025-11-23 13:05:02
【问题描述】:

我正在尝试在 Google 表单响应列表中使用 QUERY 函数,以仅显示最新的唯一条目(基于关键的学生 ID)。

A = Timestamp Column 
C = Student ID Column

使用:

select max(A)
group by C

我能够获得正确的条目,但每个条目只有一列(我想要来自正确条目的所有数据,整行

所以我尝试使用:

select max(A),B,C,D,E,F,G,H 
group by C

但这会报错

无法解析函数 QUERY 参数 2 的查询字符串: ADD_COL_TO_GROUP_BY_OR_AGGB

我是数据库新手,第一次使用 QUERY。抱歉,如果这令人困惑,但也许这张表更有意义: spreadsheet

【问题讨论】:

    标签: google-sheets google-query-language


    【解决方案1】:

    除了 Chris 的贡献和使用 QUERY():

    =ArrayFormula(vlookup(query({row(Raw!A:A),sort(Raw!A:J)},
    "select max(Col1) where Col4 is not null group by Col4 label max(Col1)''",0),
    {row(Raw!A:A),sort(Raw!A:J)},{2,3,4,5,6,7,8,9,10,11},1))
    

    【讨论】:

    • 谢谢 JP!这看起来像是我们可以用 QUERY 函数做的最好的事情。我希望我错过了一些明显的东西,并且解决方案会很优雅,但是哦,好吧。我研究过使用自然连接通过 2 部分解决方案来解决这个问题,但看起来 Google 表格也无法做到这一点!
    【解决方案2】:

    这个公式是否如你所愿:

    ={Raw!A1:J1;FILTER(Raw!A2:J,MMULT((Raw!C2:C=TRANSPOSE(Raw!C2:C))*(Raw!A2:A<TRANSPOSE(Raw!A2:A)),SIGN(ROW(Raw!A2:A)))=0)}

    【讨论】:

    • 谢谢!你的公式给了我我正在寻找的输出。 QUERY 函数应该能够做同样的事情似乎是合理的,但一定有我遗漏的东西。也许 Google 的 QUERY 功能不如其他查询语言。
    最近更新 更多