我有一个表,用于记录不同用户的时间戳。我需要根据哪个ANT拾取信号为每个用户找到连续时间戳的持续时间。
CREATE TABLE F30T (
RN AUTO_INCREMENT NOT NULL PRIMARY,
UID VARCHAR(25) NOT NULL,
ANT INT NOT NULL,
ScanTime TIMESTAMP NOT NULL)
INSERT INTO F30T (
UID,
ANT,
ScanTime)
VALUES
('4000bcc3584f', 1, '2018-08-17 19:19:04'),
('4000bcc3584f', 1, '2018-08-17 19:19:05'),
('4000bcc3584f', 1, '2018-08-17 19:19:06'),
('4000bcc3584f', 1, '2018-08-17 19:19:25'),
('4000bcc3584f', 4, '2018-08-17 19:19:26'),
('4000bcc3584f', 2, '2018-08-17 19:19:27'),
('4000bcc3584f', 2, '2018-08-17 19:19:28'),
('4000bcc3584f', 2, '2018-08-17 19:19:29'),
('4000bcc2a44f', 4, '2018-08-17 19:19:05'),
('4000bcc2a44f', 4, '2018-08-17 19:19:06'),
('4000bcc2a44f', 1, '2018-08-17 19:19:06'),
('4000bcc2a44f', 4, '2018-08-17 19:19:07');
因此,在上面的示例中,我希望它向我显示一个这样的表:
UID ANT MIN(ScanTime) MAX(ScanTime) Duration
4000bcc3584f 1 2018-08-17 19:19:04 2018-08-17 19:19:06 3
4000bcc3584f 2 2018-08-17 19:19:27 2018-08-17 19:19:29 3
4000bcc2a44f 4 2018-08-17 19:19:05 2018-08-17 19:19:06 3
在其中为用户和ANT选择连续的时间戳,并以min / max分组,并找到持续时间。顺便说一下,我正在使用MySQL,但这最终会被翻译成python程序
在此先感谢您的帮助-我是编码领域的新手,只是想自己找到办法。