Mysql SQL:选择所有与值“x”匹配的记录,但在值“y”出现时停止
我的表中有一列包含值0或1。 现在我想选择1的最后一个周期的开始 假设下一个表有两列。1的最后一个周期是ID的4和3。 此期间的开始为ID=3 ID值 5 - 0 mysql中的4-1Mysql SQL:选择所有与值“x”匹配的记录,但在值“y”出现时停止,mysql,sql,Mysql,Sql,我的表中有一列包含值0或1。 现在我想选择1的最后一个周期的开始 假设下一个表有两列。1的最后一个周期是ID的4和3。 此期间的开始为ID=3 ID值 5 - 0 mysql中的4-1 SELECT min(id) FROM table_name WHERE id > 3 AND value = 1 在php中,您需要用数字“3”替换开始时使用的数字 我相信这就是答案,尽管我可能不完全理解您的问题。您可以尝试查找值为1的最高id,其中最接近的较低id的值为0。 在sql中,这将是: SE
SELECT min(id)
FROM table_name
WHERE id > 3 AND value = 1
在php中,您需要用数字“3”替换开始时使用的数字
我相信这就是答案,尽管我可能不完全理解您的问题。您可以尝试查找值为1的最高id,其中最接近的较低id的值为0。 在sql中,这将是:
SELECT p1.id FROM periods p1
WHERE p1.value = 1
AND ( SELECT p2.value FROM periods p2
WHERE p2.id<p1.id
ORDER BY p2.id DESC LIMIT 1 ) = 0
ORDER BY p1.id DESC LIMIT 1
这些表之间的关系是什么?只是一个表。Id和VALUE都是列。你想要所有的Id都是值为1的,对吗?Id列实际上是某种序列号,按时间顺序排列?@MoyedAnsari不,他想要的是最后一个连续的1。在这种情况下,我假设记录4和3。