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条。