有没有一种方法可以在mysql中按值跳过?

有没有一种方法可以在mysql中按值跳过?,mysql,sql,rdbms,Mysql,Sql,Rdbms,我正在尝试连续跳过MySQL表中的值,例如: 我这里有一张桌子 time value t1 val1 t2 val2 t3 val3 t4 val4 t5 val5 我需要的结果是 time value t1 val1 t3 val3 t5 val5 希望你们能理解我的问题 类似地,我需要跳过2个值,3、4和5。假设顺序是由时间定义的,在MySQL 8+中,您可

我正在尝试连续跳过MySQL表中的值,例如: 我这里有一张桌子

time      value
t1        val1
t2        val2
t3        val3
t4        val4
t5        val5
我需要的结果是

time      value
t1        val1
t3        val3
t5        val5
希望你们能理解我的问题
类似地,我需要跳过2个值,3、4和5。

假设顺序是由时间定义的,在MySQL 8+中,您可以使用row_number为按时间排序的每一行分配一个数字,然后使用模运算符%仅拾取奇数行


您可以在语句中使用

从未失效的表名称中选择*

值=2,4


您将得到结果,在值中您可以传递数组,因为您不需要值

跳过是什么意思?如果你想跳过2个已经是3、4和5的值,或者我算错了吗?为什么预期结果中有val3和val5?正如我看到的那样,你按位置跳过记录,而不是按值跳过…@Nico我想这个概念叫做跳过计数,我想,这就是我试图实现的。我的提问技巧很抱歉。@Akina是的,我不仅跳过了值,甚至跳过了记录。你能提供示例值吗?两个时间戳之间的差异是多少?总是一样吗?@Akina:是的,那在MySQL中就行了。但这里更清楚的是,我在这个问题上犯了一个错误。我尝试使用跳过计数方法来跳过行本身。
SELECT x.time,
       x.value
       FROM (SELECT t.time,
                    t.value,
                    row_number() OVER (ORDER BY t.time) rn) x
       WHERE rn % 2 = 1;