Mysql查询使用变量查找三个连续的数字
编写SQL查询以查找至少连续出现三次的所有数字。该表包含id和Num列。Num列值应该是连续的 我使用三个变量:tert、prev和current来存储三个连续的数字。但是,以下代码没有给出正确的输出。我想知道为什么Mysql查询使用变量查找三个连续的数字,mysql,Mysql,编写SQL查询以查找至少连续出现三次的所有数字。该表包含id和Num列。Num列值应该是连续的 我使用三个变量:tert、prev和current来存储三个连续的数字。但是,以下代码没有给出正确的输出。我想知道为什么 SELECT if((@tert := @prev) = (@prev: = @current) = (@current := Num),Num,'') as ConsecutiveNums FROM Logs, (SELECT @current := -10, @prev
SELECT if((@tert := @prev) = (@prev: = @current) = (@current := Num),Num,'') as ConsecutiveNums
FROM
Logs,
(SELECT @current := -10, @prev := -1, @tert = -1) init
哪个列表示表中的顺序?请参见编辑,它回答了您的问题。
2=2=2
的计算结果不为true,因为2=2
=>1=2
=>0
。所以它不起作用。可能使用(2=2)*(2=2)*(2=2)
我可以尝试2=2和2=2,但Mysql中有短路吗?如何避免Mysql中的短路?*是什么意思?我做了一个编辑,你可以尝试*
而不是,
什么列表示表中的顺序?请看编辑,它回答了你的问题。2=2=2
的计算结果不是真的,因为2=2
=>1=2
0
。所以它不起作用。可能使用(2=2)*(2=2)*(2=2)
我可以尝试2=2和2=2,但Mysql中有短路吗?如何避免Mysql中的短路?*是什么意思?我做了一个编辑,你可以尝试*
而不是和