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

时间:2020-03-27 08:28:16

标签: mysql sql rdbms

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

0x0a

我需要的结果是

time      value
t1        val1
t2        val2
t3        val3
t4        val4
t5        val5

希望你们能理解我的问题 同样,我需要跳过2个值,3、4和5。

2 个答案:

答案 0 :(得分:1)

假设顺序由time定义,在MySQL 8+中,您可以使用row_number()time排序的每一行分配一个数字,然后仅选择带有使用模运算符%的奇数。

SELECT x.time,
       x.value
       FROM (SELECT t.time,
                    t.value,
                    row_number() OVER (ORDER BY t.time) rn) x
       WHERE rn % 2 = 1;

答案 1 :(得分:-1)

您可以使用IN语句

SELECT * FROM TABLE_NAME WHERE NOT IN(values);

values =(2,4,....);

您将获得结果,并且可以在不需要值的情况下通过数组传递