You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将带别名的嵌套SQL查询转换为Google Sheets QUERY()函数?

Google Sheets QUERY函数实现用户最新登录记录查询

原SQL的需求是从user_details表中提取每个用户最新登录时间对应的完整记录,由于Google Sheets的QUERY函数不支持原SQL中的关联子查询语法,我们可以用以下两种方式实现:

方法1:基于分组查询的匹配筛选

先通过分组查询得到每个用户的最大登录时间,再将用户名与最大登录时间拼接成唯一标识,以此筛选原表中的目标记录:

=QUERY(A:D, "SELECT * WHERE B&D IN '"&TEXTJOIN("|", TRUE, QUERY(A:D, "SELECT B&MAX(D) WHERE B IS NOT NULL GROUP BY B", 1))&"'", 1)
  • 假设数据范围是A:D,其中B列是user_name,D列是login_time,表头在第1行
  • 内层QUERY负责分组计算每个用户的最大登录时间,并拼接用户名形成唯一键
  • 外层QUERY通过唯一键匹配,提取对应的完整记录

方法2:结合SORT与SORTN的分组取数

利用排序+分组去重的方式,直接提取每个用户的最新登录记录:

=SORTN(SORT(A:D, 4, FALSE), 9^9, 2, 2, TRUE)
  • SORT(A:D, 4, FALSE):将数据按login_time(第4列)降序排列,让每个用户的最新记录排在最前面
  • SORTN(..., 9^9, 2, 2, TRUE):按user_name(第2列)分组,每组保留第一条记录(即最新登录记录),9^9表示取足够多的行以覆盖所有数据

内容的提问来源于stack exchange,提问作者Ignacio de Achával

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 07:07:03