gpt4 book ai didi

mysql - 无法在 SQL 中为同一 user_id 的所有行获取相同的最小值(日期)

转载 作者:行者123 更新时间:2023-11-29 05:49:14 27 4
gpt4 key购买 nike

我有 4 列,它们是:

用户 ID,
工作日期,
分钟(工作日期),
排名。

没有显示我想要的列是 min(job_date) 列。在该专栏中,我基本上是在尝试粘贴给定 user_id 的最小日期。 IE。如果我的第一个日期是 1-1-19,那么这个日期将显示在 min(job_date) 列的所有列中。

SQL 代码如下:

SELECT  
user_id ,
job_date,
min(job_date),
rank() over(PARTITION BY user_id ORDER BY job_date ASC) AS rank
FROM abc
group by 1,2;

表格如下所示: enter image description here

问题:2019-04-29T13:24 的 min_job_date 仅显示第一行,但它应该显示同一 user_id 的所有行。我究竟做错了什么?提前致谢!

最佳答案

你还没有显示你的数据,但你真的需要聚合吗?也就是说,给定用户在给定日期是否存在重复行?或者 GROUP BY 只是您尝试获得最小值的尝试。

我怀疑是后者,所以这可能会做你想做的事:

SELECT user_id, job_date,
MIN(job_date) OVER (PARTITION BY user_id) as min_job_date,
ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY job_date ASC) AS seqnum
FROM abc;

我将 RANK() 替换为 ROW_NUMBER(),因为假设没有重复项。

关于mysql - 无法在 SQL 中为同一 user_id 的所有行获取相同的最小值(日期),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55980168/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com