我有一个记录不同用户时间戳的表。我需要找到每个用户的连续时间戳的持续时间,基于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程序
提前感谢你的帮助-我是新的世界编码,只是想找到我的方式通过。
暂无答案!
目前还没有任何答案,快来回答吧!