gpt4 book ai didi

MySQL - 仅当前一行字段为 0 时才选择行?

转载 作者:太空宇宙 更新时间:2023-11-03 10:51:25 27 4
gpt4 key购买 nike

我有如下表格:

 CREATE TABLE IF NOT EXISTS `status` 
(`code` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
,`IMEI` varchar(15) NOT NULL
,`ACC` tinyint(1) NOT NULL
,`datetime` datetime NOT NULL
);

INSERT INTO status VALUES
(1, 123456789012345, 0, '2014-07-09 10:00:00'),
(2, 453253453334445, 0, '2014-07-09 10:05:00'),
(3, 912841851252151, 0, '2014-07-09 10:08:00'),
(4, 123456789012345, 1, '2014-07-09 10:10:00'),
(5, 123456789012345, 1, '2014-07-09 10:15:00');

我需要获取给定 IMEI (例如 123456789012345) 的所有行,其中 ACC=1 且同一 IMEI 的前一行的 ACC=0。这些行可能是一个接一个或相隔很远。

鉴于上面的示例,我想要获得第 4 行(代码 4)而不是第 5 行(代码 5)。

有什么想法吗?谢谢。

最佳答案

假设您指的是日期时间前一行

SELECT * 
FROM status s
WHERE s.imei='123456789012345'
AND s.acc=1
AND (
SELECT acc
FROM status
WHERE imei=s.imei
AND datetime<s.datetime
ORDER BY datetime DESC
LIMIT 1
) = 0

关于MySQL - 仅当前一行字段为 0 时才选择行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24657099/

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