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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM