gpt4 book ai didi

mysql - 如何将MySQL中的重复项分别分组

转载 作者:行者123 更新时间:2023-11-29 13:03:23 25 4
gpt4 key购买 nike

我有一个请求表..

user_id     no:of_mach         time_start                 req_time
11 3 2012-12-12 09:00:00 2012-12-11 09:00:00
12 4 2012-12-14 08:00:00 2012-12-14 06:00:00
13 4 2012-12-12 09:00:00 2012-12-12 02:00:00
14 2 2013-12-12 07:00:00 2012-12-12 03:00:00
15 2 2012 12-14 08:00:00 2012-12-14 05:00:00

从上表中,我需要获取请求相同 time_start 的用户的 req_time。

重复的 time_start 是

2012-12-12 09:00:00 by user_id 11,13.
2012-12-14 08:00:00 by user_id 12,15.

现在,他们每个人的请求时间都不同..我想要一个查询,以便它能得到如下结果:-

用户请求的 time_start 2012-12-12 09:00:00 的 req_time 为:-

2012-12-11 09:00:00
2012-12-12 02:00:00

用户请求的 time_start 2012-12-14 08:00:00 的 req_time 为:-

2012-12-14 06:00:00
2012-12-14 05:00:00

我使用了查询:-

SELECT req_time FROM user_req WHERE user_id IN (SELECT o.user_id FROM user_req o INNER JOIN ( SELECT starttime, COUNT( * ) AS dupeCount FROM user_req GROUP BY starttime HAVING COUNT( * ) >1)oc ON o.starttime = oc.starttime) ORDER BY req_time ASC;

这会将所有重复的 time_start 值的所有 req_time 打印在一起。

输出将是:-

2012-12-11 09:00:00
2012-12-12 02:00:00
2012-12-14 06:00:00
2012-12-14 05:00:00

我可以有一个查询来帮助我根据上面解释的每个重复的 time_start 对这个 req_time 进行分组吗?
然后我可以在 java 中调用它并将其用于我的程序..

请帮助我..

最佳答案

试试这个:

select * from user_req where time_start in
(select time_start
from user_req
group by time_start
having count(time_start) > 1)
order by time_start, req_time

这将从表中返回具有多个相同 time_start 计数的记录,并按 start_timereq_time 排序。如果需要,您可以选择仅显示这 2 列,只需将 select * 替换为适当的列名称即可。

关于mysql - 如何将MySQL中的重复项分别分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23040310/

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