gpt4 book ai didi

MySQL:选择彼此在日期范围内的行

转载 作者:可可西里 更新时间:2023-11-01 07:49:44 24 4
gpt4 key购买 nike

我有一个像下面这样的 MySQL:

Events
+----+------+--------------------------------+
| id | name | sites_id | created |
+----+------+--------------------------------+
| 1 | test | 1 | 2013-11-01 00:00:00 |
| 2 | test | 1 | 2013-11-02 00:00:00 |
| 3 | test | 2 | 2013-11-13 00:00:00 |
| 4 | test | 3 | 2013-11-14 00:00:00 |
| 5 | test | 4 | 2013-11-25 00:00:00 |
+----+------+----------+---------------------+

我想要选择的事件是在 48 小时内创建的,并且具有相同的站点 ID。 (在本例中,我希望 ID 为 1 和 2)。

任何帮助都将不胜感激,因为我对如何仅在 SQL 中执行此操作一无所知。

谢谢

最佳答案

尝试这样的事情:

SELECT DISTINCT e1.*
FROM events e1
INNER JOIN events e2 ON e1.sites_id = e2.sites_id
AND e1.id <> e2.id
WHERE ABS(datediff(e1.created, e2.created)) <= 2;

sqlfiddle demo

结果如下:

ID  NAME    SITES_ID    CREATED
2 test 1 November, 02 2013 00:00:00+0000
1 test 1 November, 01 2013 00:00:00+0000

关于MySQL:选择彼此在日期范围内的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20287921/

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