题目 : 不用id,每隔10行取一条数据
一、场景
表中原来的数据是这样的:
2、解决方案
解决办法如下:
select * from ( select @i:=@i+1 as n, r.* from ops_resource_list r,(select @i:=0) as a ) as b where b.n%10=0
运行结果如下:
3、剖析语句
(1)、对于这种需要知道具体行号的我们可以生成用这种方法生成行号
select @i:=@i+1 as n, user.* from user,(select @i:=0) as a
(2)、语句解释:
@i 是sql自定义用户变量的语法
:= 相当于 =
select @i: = 0 相当于赋值后访问该变量
然后我们只需要对这个序号取模就可以根据条件查询到具体的行了