mysql数据库如何每隔指定数目取一条查询呀?

比如说。数据表a有1万条数据。我要每隔50条取一条。最后查询的结果是200条... 比如说。数据表a有1万条数据。我要每隔50条取一条。最后查询的结果是200条 展开
 我来答
cyan24
2015-03-06 · TA获得超过1626个赞
知道小有建树答主
回答量:1128
采纳率:0%
帮助的人:879万
展开全部

语句是有的, 不过运算量较大, 如下, 测试通过

SELECT * from (Select id,(@rowNum:=@rowNum+1) as rowNo From t_user, (Select (@rowNum :=0) ) b order by id asc) as a where mod(a.rowNo, 3) = 1

Select id,(@rowNum:=@rowNum+1) as rowNo From t_user, (Select (@rowNum :=0) ) b order by id asc

这一句是先查结果集, 为每条纪录赋一个行号,

再从该结果集中对行号取余 mod(a.rowNo, 3) = 1

LZ的情况直接用, mod(a.rowNo, 50) = 1 就可以了, 不过无法保证效率

追问
我记得有个关键字是可以做到的。我忘记了。你的方法效率不够呀
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式