查找哪个用户在不到10分钟的时间内完成了连续交易

时间:2019-05-20 00:32:16

标签: mysql

我想查找哪个用户在不到10分钟的时间内完成了连续交易。我在处理时间数据类型时遇到麻烦。我附上了数据集的图片。

dataset

SELECT user_id,
FROM set_1
WHERE TIMEDIFF (create_time-create_time) < 10 MIN

1 个答案:

答案 0 :(得分:0)

以下内容解释了我在上面的评论中所说的内容。您将表连接到自身,匹配user_id,并消除 将一行匹配到自身,然后查找彼此相差不到十分钟的行。

SELECT 
    `user_id`,
    a.`order_id` as `1st_order_id`,
    b.`order_id` as `2nd_order_id`
FROM `set_1` a
JOIN `set_1` b
ON a.`user_id` = b.`user_id` AND
    a.`order_id` != b.`order_id` AND
    TIMEDIFF(a.`order_id`,b.`order_id`) < INTERVAL 10 MINUTE;

注意: 未经测试,可能包含错字