如何仅在其他行的上下文中读取具有匹配条件的行

问题描述

如何得到以下问题的结果,给定这张表:

uid | id  | start_time            |  end_time             |
------------------------------------------------------
1   | 111 | 2021-04-21 10:00:00   |  2021-04-21 10:00:00  |
2   | 111 | 2021-04-21 10:00:00   |  2021-04-21 10:10:00  |
3   | 111 | 2021-04-21 10:00:00   |  2021-04-21 10:10:00  |
4   | 112 | 2021-04-21 10:00:00   |  2021-04-21 10:10:00  |
5   | 113 | 2022-02-11 08:00:00   |  2022-02-11 08:10:00  |  

我需要找到那些具有不同 ID 和更大的结束日期作为开始日期的行。 在此表中,这将是 UID 为 2、3 和 4 的行,而第 4 行是最有趣的行。

不幸的是我的尝试不起作用:

SELECT uid,id,count(id) as NoID,start_time,end_time 
FROM `table` 
GROUP BY id,start_date 
HAVING COUNT(disTINCT(id))>1 AND COUNT(start_time)>1 AND (end_time)>(start_time) 

我没有找到一种如何告诉 MysqL 它应该返回 id 4 的方法,它只能在 is 2 和 3 的上下文中找到。

有人有想法吗?谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)