MySQL数据中每隔几行取一条数据

select * from (select @n:=@n+1 as n, a.* from (select * from tablename order by id desc)a,(select @n:=0)b)c where c.n%2=1 limit 10

首先 :select @n:=@n+1 as n, a.* from (select * from tablename order by id desc)a,(select @n:=0)b 是给每行的记录添加了序号,字段名为n。

其次:where c.n%2=1 是对2取模值也就是取余数,2代表着隔一行取一条数据,如果是隔两行取一条数据,就是where c.n%3=1,以此类推。

最后:limit 10 是限制条数为10条。

猜你喜欢

转载自blog.csdn.net/shileimohan/article/details/130946744