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

Prisma:如何查询含重复行数据的最新注册时间(无需GROUP BY/DISTINCT)

需求说明

查询数据表,获取每条记录对应Name的最新注册时间,需保留所有原始行,且禁止使用GROUP BY或DISTINCT语句。

示例数据表

ID  |  Name  | Time_Registered            |
1   |   A    | 2022-11-20 04:21:14.679    |
2   |   A    | 2022-11-21 05:21:14.679    |
3   |   B    | 2022-11-20 06:21:14.679    |
4   |   B    | 2023-11-22 08:21:14.679    |
5   |   D    | 2023-11-20 04:21:14.679    |

预期查询结果

ID  |  Name  | Time_Registered            | Last_Registered
1   |   A    | 2022-11-20 04:21:14.679    | 2022-11-21 05:21:14.679
2   |   A    | 2022-11-21 05:21:14.679    | 2022-11-21 05:21:14.679
3   |   B    | 2022-11-20 06:21:14.679    | 2023-11-22 08:21:14.679
4   |   B    | 2023-11-22 08:21:14.679    | 2023-11-22 08:21:14.679
5   |   D    | 2023-11-20 04:21:14.679    | 2023-11-20 04:21:14.679

解决方案

使用窗口函数MAX()搭配PARTITION BY子句即可实现需求,无需GROUP BY或DISTINCT:

SELECT 
    ID,
    Name,
    Time_Registered,
    MAX(Time_Registered) OVER (PARTITION BY Name) AS Last_Registered
FROM your_table_name;

说明

MAX(Time_Registered) OVER (PARTITION BY Name)会将数据按Name分组,为每一行计算其所属分组内的最大注册时间,最终返回所有原始行并附加对应Name的最新注册时间,完全符合需求。

内容的提问来源于stack exchange,提问作者bren

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 14:45:57