我想找到哪个用户在不到10分钟的时间内完成了连续事务。我很难处理时间数据类型。我附上了数据集的图片。
数据集
SELECT user_id,
FROM set_1
WHERE TIMEDIFF (create_time-create_time) < 10 MIN
以下说明了我在上面的评论中所说的。您可以将表与自己匹配,并消除将行与自身匹配,然后寻找彼此十分钟之内的行。
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;
注意:未测试,可能包含错别字。